首页主机资讯Debian Hadoop如何安装与配置

Debian Hadoop如何安装与配置

时间2025-12-03 20:38:03发布访客分类主机资讯浏览1298
导读:Debian 上安装与配置 Hadoop 实战指南 一 环境准备 规划节点与主机名:建议至少 1 台 NameNode + 1 台 ResourceManager(可与 NameNode 同机)+ 多台 DataNode/NodeMana...

Debian 上安装与配置 Hadoop 实战指南

一 环境准备

  • 规划节点与主机名:建议至少 1 台 NameNode + 1 台 ResourceManager(可与 NameNode 同机)+ 多台 DataNode/NodeManager。在每台机器的 /etc/hosts 中写入所有节点的 IP 与主机名(如 master、slave1…),确保节点间可互相解析。安装 OpenSSH 服务器 并配置 SSH 免密登录(各节点生成密钥,将公钥分发到所有节点 authorized_keys)。如使用虚拟机或云主机,建议配置 静态 IP主机名,避免 DHCP 导致节点漂移。为安全与运维方便,建议创建 hadoop 用户 并在该用户下部署与启动服务。

二 安装 Java 与 Hadoop

  • 安装 Java(推荐 OpenJDK 8,亦可选择 OpenJDK 11):
    • 安装命令:sudo apt update & & sudo apt install -y openjdk-8-jdk(或 openjdk-11-jdk)
    • 验证:java -version
  • 下载并解压 Hadoop(示例版本 3.3.6,可按需替换为最新稳定版):
    • 下载:wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
    • 解压:sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local
    • 软链:sudo ln -sfn /usr/local/hadoop-3.3.6 /usr/local/hadoop
  • 创建数据与日志目录(示例):
    • sudo mkdir -p /usr/local/hadoop/logs
    • sudo mkdir -p /usr/local/hadoop/hdfs/name
    • sudo mkdir -p /usr/local/hadoop/hdfs/data
  • 配置环境变量(系统级推荐写入 /etc/profile.d/hadoop.sh,便于统一生效):
    • 文件内容:
      • export HADOOP_HOME=/usr/local/hadoop
      • export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    • 使生效:source /etc/profile(或 source ~/.bashrc)

三 核心配置

  • 编辑 Hadoop 环境脚本(所有节点):
    • $HADOOP_HOME/etc/hadoop/hadoop-env.sh:设置 JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64(路径以本机实际为准)
  • 配置 workers(所有节点,旧版为 slaves):
    • $HADOOP_HOME/etc/hadoop/workers:逐行写入 DataNode/NodeManager 主机名(如 slave1、slave2…)
  • 配置 core-site.xml(所有节点一致):
    • 示例:
      • - fs.defaultFShdfs://**master:9000** - hadoop.tmp.dir**/usr/local/hadoop/tmp** -
  • 配置 hdfs-site.xml(所有节点一致):
    • 示例:
      • - dfs.replication**3** - dfs.namenode.name.dir**file:///usr/local/hadoop/hdfs/name** - dfs.datanode.data.dir**file:///usr/local/hadoop/hdfs/data** -
  • 配置 mapred-site.xml(所有节点一致):
    • 示例:
      • - mapreduce.framework.name**yarn** - mapreduce.jobhistory.webapp.address**master:19888** -
  • 配置 yarn-site.xml(所有节点一致):
    • 示例:
      • - yarn.resourcemanager.hostname**master** - yarn.nodemanager.aux-services**mapreduce_shuffle** - yarn.nodemanager.aux-services.mapreduce.shuffle.class**org.apache.hadoop.mapred.ShuffleHandler** -
  • 目录权限(如使用 hadoop 用户部署):
    • sudo chown -R hadoop:hadoop /usr/local/hadoop

四 启动与验证

  • NameNode 上格式化 HDFS(首次启动前执行一次):
    • hdfs namenode -format
  • 启动服务:
    • 启动 HDFS:start-dfs.sh
    • 启动 YARN:start-yarn.sh
    • 启动历史服务(可选):mr-jobhistory-daemon.sh start historyserver
  • 验证进程(任一节点执行 jps,应看到对应角色进程):
    • NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager、(可选)JobHistoryServer
  • 访问 Web UI(将 master 替换为实际 IP/域名):
    • NameNode:http://master:9870
    • ResourceManager:http://master:8088
    • JobHistory:http://master:19888
  • 运行示例(验证计算框架):
    • 创建目录:hdfs dfs -mkdir -p /user/hadoop
    • 上传文件:hdfs dfs -put $HADOOP_HOME/README.txt /user/hadoop
    • 运行 WordCount:hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /user/hadoop/README.txt /user/hadoop/output
    • 查看结果:hdfs dfs -cat /user/hadoop/output/part-r-00000

五 常见问题与优化

  • 端口与防火墙:确保 9870/8088/19888 等端口开放;如使用 ufw,可临时放行:sudo ufw allow 9870,8088,19888/tcp;生产环境建议精细放行与访问控制。
  • SSH 免密:若启动脚本报 SSH 相关错误,检查 ~/.ssh/authorized_keys 是否包含所有节点公钥,且 ~/.ssh 权限为 700、authorized_keys 为 600
  • Java 路径:hadoop-env.sh 中的 JAVA_HOME 必须为本机实际路径(可用 readlink -f $(which java) 辅助定位)。
  • 目录与权限:HDFS 数据与日志目录需对 hadoop 用户 可写;首次格式化后若更改目录,需清理旧元数据后再格式化。
  • 资源与副本:单机或测试环境可将 dfs.replication 设为 1;生产环境建议 3 并结合磁盘与节点数规划。
  • 版本选择:Hadoop 3.x 默认 NameNode HTTP 端口为 9870(2.x 为 50070),访问时请注意版本差异。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian Hadoop如何安装与配置
本文地址: https://pptw.com/jishu/762732.html
Ubuntu C++项目中如何进行代码审查 Debian Hadoop安全性怎样保障

游客 回复需填写必要信息