Hadoop网络配置Ubuntu上如何调整
导读:Ubuntu上调整Hadoop网络配置的实用步骤 一、网络与主机名基础配置 规划网络与主机名:为集群选定网段与固定IP,例如 192.168.5.11/24 master、192.168.5.12/24 slave1、192.168.5....
Ubuntu上调整Hadoop网络配置的实用步骤
一、网络与主机名基础配置
- 规划网络与主机名:为集群选定网段与固定IP,例如 192.168.5.11/24 master、192.168.5.12/24 slave1、192.168.5.13/24 slave2,并确保各节点之间、与宿主机之间路由可达。
- 设置静态IP(Ubuntu 22.04/20.04 常用 Netplan):编辑 /etc/netplan/*.yaml(如 01-network-manager-all.yaml),将 dhcp4: false,配置 addresses、routes 与 nameservers,然后执行 sudo netplan apply 生效。示例:
network: ethernets: ens33: dhcp4: false addresses: [192.168.5.11/24] routes: [{ to: default, via: 192.168.5.2} ] nameservers: { addresses: [8.8.8.8, 8.8.4.4]} version: 2 - 统一主机名与解析:在每台机器设置 /etc/hostname 为 master/slave1/…,并在所有节点的 /etc/hosts 中添加 IP-主机名映射;如使用虚拟机或混合系统,建议在 Windows C:\Windows\System32\drivers\etc\hosts 同步添加映射,避免跨系统访问异常。
- 验证连通:ping 网关与节点主机名,确认内网互通与DNS解析正常。
二、Hadoop关键网络参数配置
- 核心服务地址:在 core-site.xml 设置默认文件系统为 hdfs://namenode:8020(或 9000,保持与 hdfs-site 一致),并配置 hadoop.tmp.dir。
- HDFS 服务端口与目录:在 hdfs-site.xml 设置 dfs.replication、dfs.namenode.name.dir、dfs.datanode.data.dir,并显式声明 dfs.namenode.rpc-address=namenode:8020、dfs.datanode.address=0.0.0.0:50010(建议绑定到所有地址以便节点间通信)。
- YARN 服务地址:在 yarn-site.xml 设置 yarn.resourcemanager.hostname=resourcemanager,并启用 yarn.nodemanager.aux-services=mapreduce_shuffle。
- MapReduce 框架:在 mapred-site.xml 设置 mapreduce.framework.name=yarn。
- 节点清单:在 workers(旧版为 slaves)中列出所有 DataNode/NodeManager 主机名,每行一个。
三、SSH免密与集群内通信
- 生成密钥:在每台机器执行 ssh-keygen -t rsa,一路回车使用默认密钥文件。
- 分发公钥:在 master 上执行 ssh-copy-id user@slave1、ssh-copy-id user@slave2;必要时在 slave 节点也配置到 master 的互信,便于脚本化管理。
- 验证:在各节点间执行 ssh slave1 hostname、ssh master hostname 测试免密登录是否正常。
四、防火墙与系统网络优化
- 防火墙放行:放行 Hadoop 常用端口(示例)
- HDFS:8020(RPC)、50010(DataNode数据传输)、50070/9870(NameNode Web UI)
- YARN:8032(ResourceManager)、8088(ResourceManager Web UI)、8042(NodeManager Web UI)
- 使用 firewalld:
sudo firewall-cmd --permanent --add-port={ 8020,50010,50070,9870,8032,8088,8042} /tcp
sudo firewall-cmd --reload
- 系统网络参数(可选,提升大流量与并发):
- 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” - 本地端口与连接队列:
sudo sysctl -w net.ipv4.ip_local_port_range=“1024 65535”
sudo sysctl -w net.core.somaxconn=65535 - 文件描述符:ulimit -n 65535(或在 /etc/security/limits.conf 中持久化)
- TCP 缓冲与窗口:
五、生效验证与常见问题处理
- 使配置生效:
- Hadoop 配置修改后,先 stop-dfs.sh、stop-yarn.sh,再 start-dfs.sh、start-yarn.sh;如仅调整网络,执行 sudo netplan apply 后重启相关服务。
- 快速自检清单:
- 解析与连通:ping namenode、resourcemanager;cat /etc/hosts 与 hostname 是否正确。
- 端口可达:在各节点使用 ss -lntp | grep -E ‘8020|50010|8032|8088’ 检查监听;必要时在防火墙放行对应端口。
- 服务状态:jps 查看 NameNode/DataNode/ResourceManager/NodeManager 是否全部就绪;访问 http://namenode:9870 与 http://resourcemanager:8088 验证 Web UI。
- 常见问题:
- 主机名解析不一致导致无法启动或数据节点注册失败 → 统一 /etc/hosts 与 hostname。
- 监听地址绑定错误(仅 127.0.0.1)→ 将 dfs.datanode.address 设为 0.0.0.0:50010。
- 端口被占用 → 调整端口或关闭占用进程后重启服务。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Hadoop网络配置Ubuntu上如何调整
本文地址: https://pptw.com/jishu/762359.html
