温馨提示×

Ubuntu如何配置Hadoop网络参数

小樊
33
2025-12-06 22:18:00
栏目: 智能运维

Ubuntu 下 Hadoop 网络参数配置指南

一 基础网络与主机名解析

  • 固定 IP 与 DNS(Ubuntu 22.04+ 使用 Netplan
    • 编辑配置文件(网卡名以实际为准,如 ens33):/etc/netplan/01-network-manager-all.yaml
    • 示例(按需替换 IP/网关/DNS):
      network:
        ethernets:
          ens33:
            dhcp4: false
            addresses: [192.168.5.11/24]
            routes:
              - to: default
                via: 192.168.5.2
            nameservers:
              addresses: [8.8.8.8, 8.8.4.4]
        version: 2
      
    • 应用:sudo netplan apply
  • 主机名与 hosts 映射(所有节点一致)
    • 设置主机名:sudo hostnamectl set-hostname master(各节点分别设为 master/slave1/slave2)
    • /etc/hosts 示例:
      192.168.5.11 master
      192.168.5.12 slave1
      192.168.5.13 slave2
      
  • 验证:ping -c 3 masterping -c 3 slave1,确保解析与连通正常。

二 Hadoop 关键网络参数配置

  • 说明:以下为常见且影响网络连通与吞吐的核心项,按实际主机名/IP 替换占位符。
  • 配置文件与示例
    • core-site.xml(HDFS 入口与 IPC 超时)
      <configuration>
        <property>
          <name>fs.defaultFS</name>
          <value>hdfs://master:8020</value>
        </property>
        <property>
          <name>ipc.client.connect.timeout</name>
          <value>60000</value>
        </property>
      </configuration>
      
    • hdfs-site.xml(副本、线程与端口)
      <configuration>
        <property>
          <name>dfs.replication</name>
          <value>3</value>
        </property>
        <property>
          <name>dfs.namenode.handler.count</name>
          <value>100</value>
        </property>
        <property>
          <name>dfs.datanode.handler.count</name>
          <value>100</value>
        </property>
        <property>
          <name>dfs.datanode.max.transfer.threads</name>
          <value>4096</value>
        </property>
        <property>
          <name>dfs.namenode.rpc-address</name>
          <value>master:8020</value>
        </property>
        <property>
          <name>dfs.datanode.address</name>
          <value>0.0.0.0:50010</value>
        </property>
        <property>
          <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
          <value>true</value>
        </property>
      </configuration>
      
    • yarn-site.xml(资源管理器与 Shuffle)
      <configuration>
        <property>
          <name>yarn.resourcemanager.hostname</name>
          <value>master</value>
        </property>
        <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
        </property>
        <property>
          <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
          <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
      </configuration>
      
    • mapred-site.xml(使用 YARN)
      <configuration>
        <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
        </property>
      </configuration>
      
    • 节点清单 slaves(仅 master 节点配置)
      slave1
      slave2
      
  • 提示:端口如 8020/50010 为常见默认,若与系统或安全策略冲突,请统一调整并同步到防火墙放行规则。

三 Linux 系统网络参数优化

  • 提高 TCP 缓冲与窗口(/etc/sysctl.conf 或 sysctl -w)
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_wmem = 4096 65536 16777216
    net.ipv4.ip_local_port_range = 1024 65535
    net.core.somaxconn = 65535
    
  • 应用:sudo sysctl -p
  • 文件描述符限制(建议值 65535
    • 临时:ulimit -n 65535
    • 永久:在 /etc/security/limits.conf 增加
      * soft nofile 65535
      * hard nofile 65535
      
  • 说明:上述优化有助于提升 HDFS 传输YARN 调度在高并发下的稳定性与吞吐。

四 防火墙与 SSH 免密

  • 防火墙放行(示例为 firewalld)
    sudo firewall-cmd --permanent --zone=public --add-port=8020/tcp
    sudo firewall-cmd --permanent --zone=public --add-port=50010/tcp
    sudo firewall-cmd --permanent --zone=public --add-port=8032/tcp
    sudo firewall-cmd --reload
    
  • SSH 免密登录(所有节点执行)
    ssh-keygen -t rsa -b 2048
    ssh-copy-id master
    ssh-copy-id slave1
    ssh-copy-id slave2
    
  • 说明:确保 NameNode/ResourceManagerDataNode/NodeManager 之间的端口与免密通道畅通。

五 启动与验证

  • 环境变量(建议写入 /etc/profile 或 hadoop-env.sh)
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
  • 首次启动
    • 格式化 NameNode(仅首次):hdfs namenode -format
    • 启动集群:start-dfs.shstart-yarn.sh
  • 验证
    • 进程:jps(应见到 NameNode/DataNode/ResourceManager/NodeManager
    • 端口:ss -lntp | grep -E '8020|50010|8032'
    • HDFS:hdfs dfsadmin -report
    • YARN:yarn node -list
  • 变更生效:修改 Hadoop 配置后,需重启对应组件或全集群;跨节点配置请保持一致性。

0