Ubuntu环境下Hadoop网络设置步骤
Ubuntu使用netplan
工具管理网络配置,需编辑对应YAML文件(如/etc/netplan/01-netcfg.yaml
)。
sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
ens33
网卡为例,需替换为实际接口名,可通过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状态,确认服务正常运行。