温馨提示×

Ubuntu与Hadoop网络配置有何要点

小樊
43
2025-12-26 15:00:09
栏目: 智能运维

Ubuntu 与 Hadoop 网络配置要点

一、网络与主机规划

  • 使用固定内网网段为集群分配地址,并为每台机器设置唯一的主机名(如:master、slave1、slave2),便于后续配置与排查。
  • 在所有节点统一维护 /etc/hosts,用主机名映射内网 IP,避免依赖 DNS;示例:
    192.168.5.11 master
    192.168.5.12 slave1
    192.168.5.13 slave2
  • 虚拟机场景建议将网络设为桥接(或稳定的 NAT),并确保克隆或新增节点拥有不同的 MAC 地址,防止 IP 冲突。
  • 规划并预留 Hadoop 常用端口(示例):HDFS NameNode 9000ResourceManager 8088NodeManager 8042DataNode 9864/9866,便于防火墙放行与端口连通性验证。

二、Ubuntu 网络配置

  • Ubuntu 22.04 采用 Netplan 管理网络,编辑 /etc/netplan/*.yaml(如:01-network-manager-all.yaml),设置静态 IP、网关与 DNS,然后执行 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 为各自主机名,并同步 /etc/hosts 到所有节点;如需从宿主机访问集群 Web UI,可在 Windows C:\Windows\System32\drivers\etc\hosts 添加相同映射。
  • 验证:使用 ip a 查看地址,ping master/slave1 测试互通,ping 8.8.8.8 测试外网解析与路由。

三、Hadoop 关键网络参数

  • 统一使用主机名进行配置,避免写死 IP,便于节点迁移与扩容。
  • 常用配置示例:
    • core-site.xml:设置默认文件系统为 hdfs://master:9000
    • hdfs-site.xml:设置副本数 dfs.replication=3,并分别指定 dfs.namenode.name.dirdfs.datanode.data.dir 的本地存储路径。
    • mapred-site.xml:设置 mapreduce.framework.name=yarn
    • yarn-site.xml:设置 yarn.resourcemanager.hostname=master
    • workers(或 slaves):逐行列出所有 DataNode 主机名(如:slave1、slave2)。

四、SSH 免密与集群分发

  • 在所有节点安装 openssh-server,在 master 生成密钥对:ssh-keygen -t rsa;将公钥追加到 ~/.ssh/authorized_keys,并验证 ssh master 可免密登录本机。
  • master 的公钥分发到各 slavessh-copy-id hadoop@slave1(按提示输入密码),完成后在 master 上验证 ssh slave1 免密登录。
  • 使用 scp/rsync 或自研分发脚本(如 xsync)将 Hadoop 安装目录与环境变量脚本同步到所有节点,保持版本与配置一致。

五、连通性验证与常见问题

  • 基础连通性:
    • 节点互 ping:如 ping master -c 3ping slave1 -c 3
    • 服务端口:在浏览器访问 http://master:8088(YARN)、http://master:9870(HDFS NameNode Web UI),并在各节点用 ss -tulpen | grep -E ‘9000|8088|9864’ 检查监听。
  • 常见问题与处理:
    • /etc/hosts 冲突:避免将 127.0.0.1 映射到实际主机名(如 “127.0.0.1 master”),否则会导致本机解析异常。
    • 虚拟机 IP 冲突:克隆后务必生成新的 MAC 地址并重新获取/设置静态 IP。
    • 防火墙/安全组:放行 9000、8088、8042、9864/9866 等端口,或在内网测试环境临时关闭防火墙以定位问题。
    • SSH 仍提示密码:检查 ~/.ssh 权限(建议 700/600),确认公钥已正确追加到远端 authorized_keys

0