1. 配置Linux基础网络环境
首先需要为每个节点设置静态IP地址、主机名,并绑定IP与主机名的映射关系,确保节点间网络可达。
- 查看IP地址:使用
ip address show命令查看当前网络接口的IP信息。 - 设置主机名:通过
hostnamectl set-hostname <主机名>(如master、slave1)修改节点主机名,重启后生效。 - 配置静态IP:编辑网络接口配置文件(CentOS/RHEL为
/etc/sysconfig/network-scripts/ifcfg-ens33,Debian/Ubuntu为/etc/network/interfaces),设置静态IP、子网掩码、网关和DNS。例如:TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4 ONBOOT=yes - 重启网络服务:使用
systemctl restart network(CentOS/RHEL)或service networking restart(Debian/Ubuntu)应用配置。
2. 配置主机名解析(/etc/hosts文件)
在所有节点的/etc/hosts文件中添加IP地址与主机名的映射,避免依赖DNS解析,提高通信效率。例如:
192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
保存后无需重启,直接生效。
3. 配置SSH免密码登录
实现节点间无密码通信,是Hadoop集群管理的核心要求(如NameNode与DataNode、ResourceManager与NodeManager之间的通信)。
- 生成密钥对:在主节点(如
master)上执行ssh-keygen -t rsa,按回车键生成默认路径的密钥对(~/.ssh/id_rsa为私钥,~/.ssh/id_rsa.pub为公钥)。 - 分发公钥:将公钥复制到所有从节点(如
slave1、slave2),执行ssh-copy-id user@slave1(user为节点用户名),重复此步骤分发到其他节点。 - 验证免密登录:执行
ssh slave1,若无需输入密码即可登录,则配置成功。
4. 关闭防火墙与SELinux(开发环境推荐)
防火墙和SELinux可能会阻止Hadoop服务的端口通信,建议在开发环境中关闭。
- 关闭防火墙:
systemctl stop firewalld # CentOS/RHEL systemctl disable firewalld # 或Ubuntu(使用ufw) ufw disable - 关闭SELinux:
setenforce 0 # 临时关闭 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久关闭
5. 配置Hadoop核心网络参数(关键配置文件)
Hadoop的网络行为主要由core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml和slaves文件控制。
- core-site.xml:配置Hadoop默认文件系统和临时目录,指定NameNode的RPC地址。例如:
<configuration> <property> <name>fs.defaultFSname> <value>hdfs://master:9000value> property> <property> <name>hadoop.tmp.dirname> <value>/opt/hadoop/tmpvalue> property> configuration> - hdfs-site.xml:配置HDFS副本数、NameNode和DataNode的数据存储目录。例如:
<configuration> <property> <name>dfs.replicationname> <value>3value> property> <property> <name>dfs.namenode.name.dirname> <value>/opt/hadoop/dfs/namevalue> property> <property> <name>dfs.datanode.data.dirname> <value>/opt/hadoop/dfs/datavalue> property> configuration> - yarn-site.xml:配置YARN资源管理器和NodeManager的辅助服务(如MapReduce Shuffle)。例如:
<configuration> <property> <name>yarn.resourcemanager.hostnamename> <value>mastervalue> property> <property> <name>yarn.nodemanager.aux-servicesname> <value>mapreduce_shufflevalue> property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname> <value>org.apache.hadoop.mapred.ShuffleHandlervalue> property> configuration> - mapred-site.xml:配置MapReduce框架运行在YARN上。例如:
<configuration> <property> <name>mapreduce.framework.namename> <value>yarnvalue> property> configuration> - slaves文件:列出所有DataNode和NodeManager节点的主机名(每行一个),用于Hadoop管理集群节点。例如:
该文件位于slave1 slave2$HADOOP_HOME/etc/hadoop目录下。
6. 验证网络配置
完成上述步骤后,需验证节点间通信及Hadoop服务是否正常。
- 测试节点连通性:在主节点上执行
ping slave1、ping slave2,确保能正常访问从节点。 - 测试SSH免密登录:执行
ssh slave1,验证无需输入密码即可登录。 - 启动Hadoop集群:在主节点上依次执行
hdfs namenode -format(首次启动需格式化NameNode)、start-dfs.sh(启动HDFS)、start-yarn.sh(启动YARN)。 - 检查服务状态:
- 执行
jps命令,查看主节点是否有NameNode、ResourceManager进程,从节点是否有DataNode、NodeManager进程。 - 访问Hadoop Web界面:HDFS管理界面
http://master:50070(Hadoop 2.x)、YARN管理界面http://master:8088,确认集群状态正常。
- 执行
以上就是关于“Linux中Hadoop网络如何设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm