Ubuntu環境下Hadoop網絡設置步驟
Ubuntu使用netplan工具管理網絡配置,需編輯對應YAML文件(如/etc/netplan/01-netcfg.yaml)。
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bakens33網卡為例,需替換為實際接口名,可通過ip a命令查看):network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no # 關閉DHCP,使用靜態IP
addresses: ["192.168.1.100/24"] # 設置靜態IP及子網掩碼(/24表示255.255.255.0)
gateway4: "192.168.1.1" # 設置默認網關(與物理網絡一致)
nameservers:
addresses: ["8.8.8.8", "8.8.4.4"] # 設置DNS服務器(可選,但建議配置)
sudo netplan apply(生效前會自動驗證語法)。/etc/hostname文件,將默認主機名(如ubuntu)改為集群節點標識(如hadoop-master、hadoop-slave1),保存后重啟生效或運行sudo hostnamectl set-hostname hadoop-master立即生效。/etc/hosts文件,添加集群所有節點的IP與主機名對應關系(避免依賴DNS):192.168.1.100 hadoop-master
192.168.1.101 hadoop-slave1
192.168.1.102 hadoop-slave2
該步驟需在所有節點上執行,確保節點間可通過主機名互相訪問。Hadoop集群節點間需要無密碼SSH通信(如NameNode與DataNode、ResourceManager與NodeManager)。
hadoop-master)上運行ssh-keygen -t rsa,按提示回車(默認保存路徑~/.ssh/id_rsa,無需設置密碼)。ssh-copy-id hadoop-master # 復制到主節點自身
ssh-copy-id hadoop-slave1 # 復制到slave1
ssh-copy-id hadoop-slave2 # 復制到slave2
ssh hadoop-slave1,若無需輸入密碼即可登錄,則配置成功。ufw防火墻,運行以下命令停止并禁用:sudo ufw disable # 停止防火墻
sudo ufw status # 驗證狀態(顯示“inactive”即為關閉)
/etc/selinux/config文件,將SELINUX=enforcing改為SELINUX=disabled,然后重啟系統使配置生效。ping hadoop-slave1,若能收到回復則表示節點間網絡連通。start-dfs.sh、start-yarn.sh),通過hdfs dfsadmin -report查看DataNode狀態,yarn node -list查看NodeManager狀態,確認服務正常運行。