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状态,确认服务正常运行。