温馨提示×

Ubuntu Hadoop 网络怎么设置

小樊
51
2025-10-14 11:57:14
栏目: 智能运维

Ubuntu环境下Hadoop网络配置指南

1. 设置静态IP地址

Hadoop集群节点需使用静态IP以保证通信稳定性。Ubuntu 18.04及以上版本通过netplan配置静态IP:

  • 备份原有网络配置:sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
  • 编辑配置文件(如01-netcfg.yaml),修改为以下内容(替换<your_ip><your_gateway><your_dns>ens33为实际值):
    network:
      version: 2
      ethernets:
        ens33:
          addresses: ["<your_ip>/24"]
          gateway4: "<your_gateway>"
          nameservers:
            addresses: ["<your_dns>"]
    
  • 应用配置:sudo netplan apply
  • 验证IP:ip a

2. 配置主机名与hosts文件

确保节点间通过主机名识别,避免依赖动态DNS:

  • 修改本地主机名(如将ubuntu改为namenode):sudo hostnamectl set-hostname namenode
  • 编辑/etc/hosts文件,添加所有节点的IP与主机名映射(所有节点需一致):
    192.168.1.100 namenode
    192.168.1.101 datanode1
    192.168.1.102 datanode2
    

3. 配置SSH无密码登录

实现节点间免密通信(如NameNode向DataNode分发任务):

  • 生成SSH密钥对:ssh-keygen -t rsa(直接回车使用默认路径和空密码)
  • 将公钥复制到所有节点:ssh-copy-id user@datanode1ssh-copy-id user@datanode2(替换user为实际用户名)
  • 测试免密登录:ssh datanode1(无需输入密码即可登录)

4. 修改Hadoop核心配置文件

调整Hadoop配置以适配网络环境,主要修改以下文件(位于$HADOOP_HOME/etc/hadoop/):

  • core-site.xml:定义HDFS默认文件系统和RPC地址:
    <configuration>
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode:9000</value>
      </property>
    </configuration>
    
  • hdfs-site.xml:配置HDFS副本数、NameNode/DataNode数据目录:
    <configuration>
      <property>
        <name>dfs.replication</name>
        <value>3</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>/path/to/namenode/dir</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>/path/to/datanode/dir</value>
      </property>
    </configuration>
    
  • yarn-site.xml:指定ResourceManager主机名及Shuffle服务:
    <configuration>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>resourcemanager</value>
      </property>
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    </configuration>
    
  • mapred-site.xml(若未创建,复制模板生成):设置MapReduce框架为YARN:
    <configuration>
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
    </configuration>
    

5. 配置防火墙与SELinux

允许Hadoop所需端口通信,避免网络阻断:

  • Ubuntu(ufw):允许常用端口(如HDFS NameNode 9000、DataNode 50010、YARN ResourceManager 8088):
    sudo ufw allow 9000/tcp
    sudo ufw allow 50010/tcp
    sudo ufw allow 8088/tcp
    sudo ufw enable
    
  • SELinux(若启用):临时关闭(setenforce 0)或永久关闭(编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled

6. 格式化HDFS与启动集群

  • 格式化NameNode(首次启动前执行,仅一次):
    hdfs namenode -format(注意:此操作会清除NameNode原有数据)
  • 启动Hadoop服务
    start-dfs.sh  # 启动HDFS(NameNode、DataNode)
    start-yarn.sh  # 启动YARN(ResourceManager、NodeManager)
    
  • 验证状态
    • 查看HDFS节点信息:hdfs dfsadmin -report
    • 查看YARN节点列表:yarn node -list

0