Hadoop在Ubuntu上的网络配置注意事项
确保所有节点(NameNode、DataNode、ResourceManager、NodeManager等)的网络接口(如eth0、ens33等)配置正确。推荐使用静态IP地址(避免DHCP动态分配导致的IP变动),可通过ip命令(Ubuntu 18.04及以上版本)或修改/etc/netplan/*.yaml文件(Ubuntu 17.10及以上版本)设置。例如,静态IP配置示例:sudo ip addr add 192.168.1.100/24 dev eth0(临时生效)或通过Netplan永久生效。同时,需正确设置子网掩码(如255.255.255.0)、网关(如192.168.1.1)和DNS服务器(如8.8.8.8、8.8.4.4,写入/etc/resolv.conf)。
在所有节点的/etc/hosts文件中,添加IP地址与主机名的映射关系(避免依赖DNS解析,提升通信效率)。例如:
192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
确保所有节点的/etc/hostname文件中设置的主机名与hosts文件中的名称一致。
Hadoop集群节点间需要通过SSH进行无密码通信(如NameNode与DataNode之间的心跳检测)。操作步骤:
ssh-keygen -t rsa(默认保存路径为~/.ssh/id_rsa);ssh-copy-id user@node2(替换为用户和节点IP/主机名);ssh user@node2(无需输入密码)。修改Hadoop的关键配置文件,确保网络参数正确:
<property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property>;<property><name>dfs.replication</name><value>3</value></property>、<property><name>dfs.namenode.name.dir</name><value>/opt/hadoop/namenode</value></property>、<property><name>dfs.datanode.data.dir</name><value>/opt/hadoop/datanode</value></property>;<property><name>yarn.resourcemanager.hostname</name><value>master</value></property>、<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>;<property><name>mapreduce.framework.name</name><value>yarn</value></property>。Ubuntu默认使用ufw(Uncomplicated Firewall)管理防火墙,需开放Hadoop所需端口:
sudo ufw allow 8020/tcp、sudo ufw allow 50070/tcp、sudo ufw allow 8032/tcp,最后启用防火墙:sudo ufw enable。若使用iptables,需同步配置相应规则。配置完成后,需逐一验证网络连通性:
ping命令测试节点间IP连通性(如ping 192.168.1.101);ssh命令测试无密码登录(如ssh master);ping master应能解析为对应IP)。