温馨提示×

Ubuntu HDFS配置集群节点方法

小樊
35
2025-11-29 03:07:44
栏目: 智能运维

Ubuntu 上配置 HDFS 集群节点的实操步骤

一 环境准备与规划

  • 准备至少 2 台 Ubuntu 主机(建议 Ubuntu 20.04/22.04),统一安装 OpenJDK 8,并配置 静态 IP主机名解析(/etc/hosts),确保节点间可互通。
  • 规划角色:至少 1 个 NameNode(可兼 ResourceManager),其余为 DataNode(可兼 NodeManager)。
  • 建议目录(示例):Hadoop 安装至 /usr/local/hadoop-3.3.6,数据目录 /opt/hadoop/hdfs/{namenode,datanode},临时目录 /opt/hadoop/tmp
  • 示例规划:
    角色 主机名 服务
    主节点 master NameNode, ResourceManager
    从节点 slave1 DataNode, NodeManager
    从节点 slave2 DataNode, NodeManager
    以上准备与规划可参考 Ubuntu 网络配置、hosts 解析、Java 与 SSH 免密登录等通用实践。

二 安装 Java 与 Hadoop 并配置 SSH

  • 安装 Java(所有节点):
    sudo apt update && sudo apt install -y openjdk-8-jdk
    java -version
  • 下载并解压 Hadoop(主节点操作,再分发到各节点):
    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/
  • 环境变量(所有节点,~/.bashrc 或 /etc/profile):
    export HADOOP_HOME=/usr/local/hadoop-3.3.6
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    source ~/.bashrc
  • SSH 免密登录(主节点执行,分发公钥到所有节点):
    ssh-keygen -t rsa -P “” -f ~/.ssh/id_rsa
    ssh-copy-id user@slave1
    ssh-copy-id user@slave2
    以上步骤涵盖 Java 安装、Hadoop 安装与环境变量设置、SSH 免密登录的通用做法。

三 配置 HDFS 核心文件

  • 配置 hadoop-env.sh(所有节点,设置 JAVA_HOME):
    echo “export JAVA_HOME=$JAVA_HOME” >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
  • 配置 core-site.xml(主节点,指定默认文件系统):
    fs.defaultFS hdfs://master:9000 hadoop.tmp.dir /opt/hadoop/tmp
  • 配置 hdfs-site.xml(主节点,设置副本数与数据目录):
    dfs.replication 2 dfs.namenode.name.dir /opt/hadoop/hdfs/namenode dfs.datanode.data.dir /opt/hadoop/hdfs/datanode
  • 配置 workers(主节点,列出所有从节点主机名):
    echo -e “slave1\nslave2” > $HADOOP_HOME/etc/hadoop/workers
  • 同步配置到从节点(主节点执行):
    scp -r $HADOOP_HOME slave1:$HADOOP_HOME
    scp -r $HADOOP_HOME slave2:$HADOOP_HOME
    以上为核心配置文件与 workers 的标准做法,含副本数与本地数据目录设置。

四 启动 HDFS 并验证

  • 格式化 NameNode(仅首次在主节点执行一次):
    hdfs namenode -format -force
  • 启动 HDFS(主节点):
    start-dfs.sh
  • 验证进程与集群状态:
    jps # 主节点应见 NameNode;从节点应见 DataNode
    hdfs dfsadmin -report # 查看 DataNode 注册与健康状态
  • Web 界面:
    HDFS NameNode:http://master:9870
    YARN ResourceManager:http://master:8088(如启用 YARN)
    以上命令与 Web 端口为 Hadoop 3.x 常用入口。

五 扩展节点与常见问题

  • 扩展新 DataNode(示例新增 slave3):
    1. 按“二”完成新节点基础环境(Java、SSH、Hadoop 目录与环境变量)。
    2. 在主节点将新节点加入 workers:echo “slave3” >> $HADOOP_HOME/etc/hadoop/workers,并同步配置。
    3. 在新节点启动守护进程:
      hdfs --daemon start datanode
      yarn --daemon start nodemanager(如启用 YARN)
    4. 在主节点执行 hdfs dfsadmin -report 确认新节点已注册。
  • 常见问题排查:
    • 配置文件不一致或路径错误:核对 core-site.xml/hdfs-site.xmlJAVA_HOME
    • SSH 免密失败:确认 ~/.ssh/authorized_keys 已分发且权限正确。
    • 防火墙/安全组:放行 HDFS 与 YARN 相关端口(或临时关闭防火墙用于排查)。
    • 权限问题:数据目录属主/权限不当会导致 DataNode 启动失败,建议使用专用 hadoop 用户并统一 umask
      以上扩展与排错要点可快速定位常见故障并稳定扩容。

0