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)。