温馨提示×

Hadoop网络设置Linux如何操作

小樊
49
2025-11-14 23:29:28
栏目: 智能运维

Linux 下 Hadoop 网络设置实操指南

一 基础网络与主机名

  • 设置每台机器的主机名(以 master 为例):执行命令:hostnamectl set-hostname master,其余节点分别设为 slave1/slave2 等。
  • 配置 /etc/hosts 在所有节点保持一致,示例:
    192.168.1.100 master
    192.168.1.101 slave1
    192.168.1.102 slave2
  • 配置 DNS(可选,确保域名可解析):编辑 /etc/resolv.conf,添加
    nameserver 8.8.8.8
    nameserver 8.8.4.4
  • 说明:Hadoop 强依赖主机名解析,务必保证 /etc/hosts 正确且各节点一致。

二 静态 IP 与 DNS 配置

  • RHEL/CentOS 系(ifcfg 文件方式):编辑 /etc/sysconfig/network-scripts/ifcfg-eth0(接口名以实际为准),示例:
    TYPE=Ethernet
    BOOTPROTO=static
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    ONBOOT=yes
    应用:执行 sudo systemctl restart network
  • 新内核/Ubuntu 系(ip/Netplan 方式):可用命令临时设置
    sudo ip addr add 192.168.1.100/24 dev eth0
    或采用 Netplan 配置后执行 netplan apply
  • 提示:生产环境建议使用 静态 IP,避免 DHCP 导致地址漂移影响集群通信。

三 节点互通与安全策略

  • 配置 SSH 免密登录(以 master 免密登录各节点为例):
    1. 生成密钥:ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
    2. 分发公钥:ssh-copy-id user@slave1(逐台分发)
    3. 权限:chmod 700 ~/.ssh;chmod 600 ~/.ssh/authorized_keys
  • 防火墙放行(示例为 firewalld):
    sudo firewall-cmd --permanent --zone=public --add-port=8020/tcp
    sudo firewall-cmd --permanent --zone=public --add-port=8032/tcp
    sudo firewall-cmd --reload
  • SELinux(仅测试环境建议临时关闭):setenforce 0
  • 说明:确保 NameNode/ResourceManager 与各 DataNode/NodeManager 之间端口可达。

四 Hadoop 关键网络参数配置

  • core-site.xml(默认文件系统与临时目录):
    fs.defaultFS hdfs://master:8020 hadoop.tmp.dir /opt/hadoop/tmp
  • hdfs-site.xml(副本与目录,按需调整):
    dfs.replication 3 dfs.namenode.name.dir /opt/hadoop/dfs/name dfs.datanode.data.dir /opt/hadoop/dfs/data dfs.namenode.rpc-address master:8020 dfs.datanode.address 0.0.0.0:50010
  • yarn-site.xml(资源管理器与 Shuffle):
    yarn.resourcemanager.hostname master yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler
  • mapred-site.xml(使用 YARN 调度):
    mapreduce.framework.name yarn
  • 环境变量(~/.bashrc 或 /etc/profile.d/hadoop.sh):
    export JAVA_HOME=/usr/java/latest
    export HADOOP_HOME=/opt/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    使生效:source ~/.bashrc
  • 说明:端口与地址请与集群拓扑一致,避免 localhost 造成跨节点访问异常。

五 启动验证与性能优化

  • 首次启动前格式化 NameNodehdfs namenode -format
  • 启动集群:
    start-dfs.sh
    start-yarn.sh
  • 验证:
    • 进程:在各节点执行 jps,应见到 NameNode/DataNode/ResourceManager/NodeManager 等进程
    • Web:http://master:50070(HDFS NameNode)与 http://master:8088(YARN ResourceManager)
  • Linux 网络与句柄优化(示例):
    • TCP 缓冲与窗口:
      sudo sysctl -w net.core.rmem_max=16777216
      sudo sysctl -w net.core.wmem_max=16777216
      sudo sysctl -w net.ipv4.tcp_rmem=“4096 87380 16777216
      sudo sysctl -w net.ipv4.tcp_wmem=“4096 65536 16777216
    • 连接与队列:
      sudo sysctl -w net.ipv4.ip_local_port_range=“1024 65535
      sudo sysctl -w net.core.somaxconn=65535
    • 文件句柄:ulimit -n 65535(并在 /etc/security/limits.conf 持久化)

0