Hadoop在Linux上如何配置网络参数
小樊
48
2025-11-28 21:08:40
Linux上配置Hadoop网络参数的实用指南
一 基础网络与主机解析
- 配置主机名与DNS:使用命令设置主机名(如:sudo hostnamectl set-hostname master),并在 /etc/resolv.conf 中添加 DNS(如:nameserver 8.8.8.8)。
- 统一节点解析:在所有节点编辑 /etc/hosts,将各节点的 IP 与主机名 做映射,避免解析不一致。
- 静态IP(可选):在网卡配置中设置 IPADDR/NETMASK/GATEWAY,或使用 ip/ifconfig 临时配置,确保节点间路由可达。
- SSH免密:集群内各节点间配置 SSH 免密码登录,便于启动脚本与运维。
- 时间同步:保证所有节点 NTP 时间一致,避免安全票据与服务异常。
以上步骤是后续 Hadoop 网络参数生效的前提。
二 Hadoop关键网络参数配置
- core-site.xml:设置默认文件系统与连接超时、队列等关键项
- fs.defaultFS=hdfs://:8020
- ipc.client.connect.timeout=60000(毫秒)
- ipc.client.listen.queue.size=100
- hdfs-site.xml:优化 NameNode/DataNode 的 RPC 与数据传输能力
- dfs.replication=3
- dfs.namenode.handler.count=100
- dfs.datanode.handler.count=100
- dfs.datanode.max.transfer.threads=4096
- dfs.namenode.datanode.registration.ip-hostname-check=true
- yarn-site.xml:配置 ResourceManager 与 NodeManager 资源与 Shuffle
- yarn.resourcemanager.hostname=
- yarn.nodemanager.aux-services=mapreduce_shuffle
- yarn.nodemanager.aux-services.mapreduce.shuffle.class=org.apache.hadoop.mapred.ShuffleHandler
- 资源维度:yarn.nodemanager.resource.memory-mb、yarn.nodemanager.resource.cpu-vcores
- mapred-site.xml:指定执行框架
- mapreduce.framework.name=yarn
- 节点清单:在 slaves/workers 文件中列出所有 DataNode/NodeManager 主机名,便于统一启停。
三 Linux系统网络参数优化
- 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
- 连接与端口范围:提升并发连接能力
- net.ipv4.ip_local_port_range=1024 65535
- net.core.somaxconn=65535
- 文件描述符限制:避免“Too many open files”
- 运行期:ulimit -n 65535
- 持久化:在 /etc/security/limits.conf 为运行用户设置 nofile 上限
- 应用与持久化:使用 sysctl -p 使内核参数生效。
四 防火墙与端口放行
- firewalld(CentOS/RHEL/Fedora):放行常见 Hadoop 端口
- 8020/tcp(HDFS RPC)、50070/tcp(NameNode Web UI)、8088/tcp(YARN Web UI)、8032/tcp(YARN ResourceManager)
- 命令示例:
- firewall-cmd --permanent --zone=public --add-port=8020/tcp
- firewall-cmd --permanent --zone=public --add-port=50070/tcp
- firewall-cmd --permanent --zone=public --add-port=8088/tcp
- firewall-cmd --permanent --zone=public --add-port=8032/tcp
- firewall-cmd --reload
- 其他发行版:使用 ufw/iptables 等工具放行相同端口范围。
五 启动验证与常见问题
- 初始化与启动:首次部署需 hdfs namenode -format;随后使用 start-dfs.sh、start-yarn.sh 启动集群。
- 进程与连通性:在各节点执行 jps 检查进程;使用 ping/ssh 验证节点互通;通过 hdfs dfsadmin -report 查看 DataNode 注册情况。
- 访问 Web UI:浏览器访问 http://:50070(HDFS)与 http://:8088(YARN)确认服务状态。
- 常见问题排查:
- 主机名/IP 不一致或 /etc/hosts 错误导致节点无法注册
- 防火墙未放行导致 8020/50070/8088/8032 等端口不通
- 未配置 SSH 免密 导致脚本无法批量启停
- 未做 时间同步 引发安全或通信异常