1. 静态IP地址配置
为每个节点配置固定IP,避免动态IP变动导致网络连接中断。修改网络接口配置文件(如/etc/sysconfig/network-scripts/ifcfg-ens33),设置BOOTPROTO=static,并指定IPADDR(节点IP)、NETMASK(子网掩码)、GATEWAY(网关)、DNS1/DNS2(DNS服务器)。保存后重启网络服务(sudo systemctl restart network)使配置生效。
2. 主机名与hosts文件映射
为每个节点设置唯一主机名(如hadoop-master、hadoop-node1),使用hostnamectl set-hostname <主机名>命令修改。编辑/etc/hosts文件,添加集群节点IP与主机名的映射关系(如192.168.1.100 hadoop-master、192.168.1.101 hadoop-node1),确保节点间可通过主机名互相访问。
3. 防火墙与SELinux调整
测试环境可暂时关闭防火墙(sudo systemctl stop firewalld、sudo systemctl disable firewalld)和SELinux(修改/etc/selinux/config中的SELINUX=disabled并执行setenforce 0);生产环境需开放Hadoop必需端口(如NameNode的9000端口、DataNode的50010/50020端口、Web界面的50070端口),使用firewall-cmd --permanent --zone public --add-port <端口号>/tcp命令添加规则,然后firewall-cmd --reload生效。
4. SSH免密登录配置
配置集群节点间的SSH免密访问,简化NameNode与DataNode、ResourceManager与NodeManager之间的通信。生成SSH密钥对(ssh-keygen -t rsa -P ""),将公钥复制到所有节点(ssh-copy-id root@<节点IP>),测试免密登录(ssh <节点IP>)确保配置成功。
5. 网络时间同步(NTP)
所有节点必须启用NTP服务,保持系统时间一致,避免HDFS元数据因时间差异导致的不一致问题。安装NTP(sudo yum install ntp),编辑/etc/ntp.conf文件添加可靠NTP服务器(如server 0.centos.pool.ntp.org iburst),启动NTP服务(sudo systemctl start ntpd、sudo systemctl enable ntpd),并同步时间(ntpdate <NTP服务器IP>)。
6. Hadoop核心网络配置文件优化
fs.defaultFS为HDFS的默认文件系统URI(如hdfs://namenode:9000),定义hadoop.tmp.dir为Hadoop临时目录(如/usr/local/hadoop/tmp),确保临时目录存在且有读写权限。dfs.replication为数据副本数(生产环境建议3,测试环境可设1),设置dfs.namenode.name.dir(NameNode元数据存储路径,如/usr/local/hadoop/hdfs/namenode)、dfs.datanode.data.dir(DataNode数据存储路径,如/usr/local/hadoop/hdfs/datanode),优化dfs.namenode.handler.count(NameNode处理线程数,默认10,集群规模大时可调至100+)和dfs.datanode.max.transfer.threads(DataNode最大传输线程数,默认4096,可根据带宽调整)。7. 操作系统网络参数调优
调整TCP缓冲区大小(sudo sysctl -w net.core.rmem_max=16777216、sudo sysctl -w net.core.wmem_max=16777216、sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"、sudo sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"),提高网络传输效率;调整文件描述符限制(编辑/etc/security/limits.conf,添加hadoop soft nofile 65536、hadoop hard nofile 65536),避免大量并发连接导致文件描述符耗尽;优化内核参数(编辑/etc/sysctl.conf,添加net.ipv4.ip_local_port_range = 1024 65535、net.core.somaxconn = 65535、net.ipv4.tcp_max_syn_backlog = 65535、net.ipv4.tcp_syncookies = 1、net.ipv4.tcp_tw_reuse = 1、net.ipv4.tcp_fin_timeout = 30),提升网络连接性能,执行sudo sysctl -p使配置生效。