1. 网络接口与IP配置
确保所有节点的网络接口(如eth0)配置静态IP(避免DHCP动态分配导致IP变动),并设置正确的子网掩码、网关和DNS。静态IP需写入网络接口配置文件(如CentOS的/etc/sysconfig/network-scripts/ifcfg-eth0,Ubuntu的/etc/netplan/*.yaml),配置后重启网络服务(systemctl restart network或netplan apply)使生效。
2. 主机名与DNS解析
master、slave1),使用hostnamectl set-hostname <主机名>命令,并写入/etc/hostname文件。/etc/resolv.conf添加公共DNS(如8.8.8.8、8.8.4.4);在所有节点的/etc/hosts文件中添加IP与主机名的映射(如192.168.1.100 master、192.168.1.101 slave1),确保节点间可通过主机名互相解析。3. SSH免密码登录
配置所有节点之间的SSH免密码登录,确保NameNode能无密码访问DataNode、ResourceManager能无密码访问NodeManager。步骤如下:
ssh-keygen -t rsa(直接回车,默认保存到~/.ssh/id_rsa)。ssh-copy-id user@slave1、ssh-copy-id user@slave2(替换为用户和从节点主机名/IP)。ssh user@slave1,无需输入密码即可登录。4. Hadoop核心配置文件调整
修改$HADOOP_HOME/etc/hadoop目录下的关键配置文件,确保集群通信参数正确:
fs.defaultFS为hdfs://master:9000(master为主节点主机名),hadoop.tmp.dir为临时目录(如/opt/hadoop/tmp)。dfs.replication为3,dfs.namenode.name.dir为/opt/hadoop/dfs/name,dfs.datanode.data.dir为/opt/hadoop/dfs/data。yarn.resourcemanager.hostname为master,yarn.nodemanager.aux-services为mapreduce_shuffle,yarn.nodemanager.aux-services.mapreduce.shuffle.class为org.apache.hadoop.mapred.ShuffleHandler。mapreduce.framework.name为yarn。5. 防火墙与端口开放
Hadoop集群需要开放多个端口用于节点间通信,使用firewall-cmd(CentOS)或ufw(Ubuntu)开放必要端口并重载防火墙:
firewall-cmd --permanent --zone=public --add-port=8020/tcp、firewall-cmd --permanent --zone=public --add-port=8032/tcp、firewall-cmd --reload。6. 网络性能优化
调整内核参数提升网络传输效率,编辑/etc/sysctl.conf文件,添加以下配置:
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.tcp_congestion_control=cubic。sudo sysctl -p。7. 验证网络连通性
配置完成后,通过以下命令验证网络是否正常:
ping slave1(从主节点ping从节点),确保节点间IP连通。ssh slave1,验证免密登录是否成功。jps(查看Hadoop进程是否启动)、hdfs dfsadmin -report(查看HDFS节点状态)、yarn node -list(查看YARN节点状态)。