一、基础网络环境配置
设置静态IP地址
为确保集群节点IP稳定,需将Linux节点的网络接口配置为静态IP。编辑对应网卡配置文件(如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映射
hostnamectl set-hostname <主机名>。/etc/hosts文件,添加IP与主机名的映射(所有节点需一致):192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
这样可通过主机名直接访问节点,避免依赖DNS。二、SSH免密码登录配置 Hadoop集群节点间需频繁通信(如NameNode与DataNode、ResourceManager与NodeManager),配置SSH免密码登录可简化流程:
ssh-keygen -t rsa(直接回车,默认保存到~/.ssh/id_rsa)。ssh-copy-id user@master、ssh-copy-id user@slave1(替换为用户和节点主机名/IP)。ssh master、ssh slave1,无需输入密码即可登录。三、Hadoop核心网络配置文件修改 Hadoop的网络行为主要由以下配置文件控制,需根据集群规模调整:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> <!-- NameNode的RPC地址 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value> <!-- 临时文件目录 -->
</property>
<property>
<name>ipc.client.connect.timeout</name>
<value>60000</value> <!-- 客户端连接超时(毫秒) -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 数据副本数(生产环境建议3,测试环境可设1) -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/namenode</value> <!-- NameNode元数据目录 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/datanode</value> <!-- DataNode数据目录 -->
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value> <!-- NameNode RPC处理线程数 -->
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value> <!-- ResourceManager所在节点 -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <!-- MapReduce Shuffle服务 -->
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value> <!-- NodeManager可用内存(MB) -->
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
etc/hadoop/下),每行一个主机名:slave1
slave2
此文件用于Hadoop自动分发任务和管理节点。四、网络优化与安全配置
调整系统网络参数
编辑/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.ip_local_port_range=1024 65535
net.core.somaxconn=65535
应用配置:sudo sysctl -p。
关闭防火墙与SELinux
systemctl stop firewalld(CentOS/RHEL)或systemctl stop firewalld(Ubuntu/Debian)。systemctl disable firewalld。setenforce 0,并修改/etc/selinux/config中的SELINUX=disabled。五、验证网络配置
ping命令检查节点间是否可达(如ping slave1)。ssh master、ssh slave1验证免密登录是否成功。hdfs namenode -format),启动集群(start-dfs.sh、start-yarn.sh),访问Web界面(NameNode:http://master:50070,ResourceManager:http://master:8088),查看节点状态是否正常。