一、基础网络环境配置
-
设置静态IP地址
为避免动态IP变动导致集群通信故障,需为所有节点配置静态IP。根据Linux发行版差异,编辑对应网络配置文件(如CentOS/RHEL的/etc/sysconfig/network-scripts/ifcfg-ens33、Debian/Ubuntu的/etc/network/interfaces),设置以下参数:TYPE=Ethernet BOOTPROTO=static # 静态IP IPADDR=192.168.1.100 # 节点IP NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 网关 DNS1=8.8.8.8 # DNS服务器 ONBOOT=yes # 开机自启保存后重启网络服务(
systemctl restart network或service network restart)。 -
配置主机名与hosts映射
- 为每个节点设置唯一主机名(如NameNode设为
hadoop-master,DataNode设为hadoop-slave1):hostnamectl set-hostname hadoop-master # 在对应节点执行 - 编辑所有节点的
/etc/hosts文件,添加IP与主机名映射(确保所有节点映射一致):192.168.1.100 hadoop-master 192.168.1.101 hadoop-slave1 192.168.1.102 hadoop-slave2
- 为每个节点设置唯一主机名(如NameNode设为
-
配置SSH免密码登录
实现NameNode与DataNode、ResourceManager与NodeManager之间的无密码通信:- 在NameNode上生成SSH密钥对:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 直接回车,无需设置密码 - 将公钥复制到所有DataNode和NodeManager节点:
ssh-copy-id hadoop-slave1 # 执行后输入目标节点密码 ssh-copy-id hadoop-slave2 - 验证免密码登录(从NameNode执行
ssh hadoop-slave1,无需密码即可登录)。
- 在NameNode上生成SSH密钥对:
二、Hadoop核心配置文件调整
-
core-site.xml
配置Hadoop默认文件系统和临时目录,指定NameNode的RPC地址:<configuration> <property> <name>fs.defaultFSname> <value>hdfs://hadoop-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
配置ResourceManager地址和NodeManager的Shuffle服务:<configuration> <property> <name>yarn.resourcemanager.hostnamename> <value>hadoop-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自动管理集群节点:hadoop-slave1 hadoop-slave2
三、网络相关优化与安全配置
-
防火墙设置
开放Hadoop必需端口(如HDFS的9000、50010,YARN的8032、8042),允许集群内部通信:sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp # HDFS RPC sudo firewall-cmd --permanent --zone=public --add-port=50010/tcp # DataNode数据传输 sudo firewall-cmd --permanent --zone=public --add-port=8032/tcp # YARN ResourceManager sudo firewall-cmd --permanent --zone=public --add-port=8042/tcp # NodeManager sudo firewall-cmd --reload若无需防火墙,可直接停止并禁用(不推荐生产环境):
systemctl stop firewalld && systemctl disable firewalld -
SELinux配置
若系统启用SELinux,需临时或永久关闭以避免权限问题:setenforce 0 # 临时关闭 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久关闭 -
网络性能调优
编辑/etc/sysctl.conf,调整TCP缓冲区大小以提升大数据传输效率:net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.tcp_congestion_control = cubic应用配置:
sudo sysctl -p
四、验证网络配置
-
节点连通性检查
使用ping命令测试NameNode与各DataNode之间的网络连通性(如ping hadoop-slave1)。 -
SSH免密码登录验证
从NameNode执行ssh hadoop-slave1,确认无需输入密码即可登录。 -
Hadoop服务状态检查
- 格式化NameNode(首次启动需执行):
hdfs namenode -format - 启动HDFS和YARN:
start-dfs.sh && start-yarn.sh - 使用
jps命令查看各节点进程(NameNode节点应显示NameNode、SecondaryNameNode;DataNode节点应显示DataNode;ResourceManager节点应显示ResourceManager;NodeManager节点应显示NodeManager)。 - 访问Hadoop Web界面(HDFS:
http://hadoop-master:50070,YARN:http://hadoop-master:8088),确认集群状态正常。
- 格式化NameNode(首次启动需执行):
以上就是关于“Hadoop在Linux下的网络配置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm