温馨提示×

Ubuntu Hadoop 集群扩展如何实现

小樊
38
2025-12-22 17:35:35
栏目: 智能运维

Ubuntu Hadoop 集群扩展实操指南

一 扩展前准备

  • 规划新增节点的角色:通常新增为 DataNode/NodeManager;若需提升调度能力,可同时扩展 ResourceManager 为高可用集群。
  • 基础环境一致性:在所有节点安装相同版本的 Java JDK 8(或集群既定版本),统一 Hadoop 安装目录与环境变量,保证目录结构与用户一致,便于分发与维护。
  • 网络与解析:为所有节点配置 静态 IP主机名解析(/etc/hosts 或内网 DNS),确保节点间可互通;Ubuntu 环境中注意清理 /etc/hosts 中 127.0.1.1 指向本机主机名 的条目,避免本地解析冲突。
  • 免密登录:配置 SSH 免密(Master 能免密登录新节点),便于分发配置与启停进程。
  • 时间同步:生产环境建议部署 NTP,保证集群时间一致性,避免 Kerberos、Zookeeper、HDFS 元数据等异常。
  • 防火墙与安全组:开放 HDFS(如 50070/50075)与 YARN(如 8088) 等必要端口,或在内网环境统一关闭防火墙。

二 添加数据节点与计算节点

  • 分发软件与配置:将 Master 节点的 Hadoop 安装目录与环境变量 同步到新节点(保持目录一致),或在新节点按统一规范安装并配置。
  • 更新节点清单:在 $HADOOP_HOME/etc/hadoop/workers(旧版本为 slaves)中加入新节点的 主机名,保持所有节点该文件一致。
  • 启动新节点进程:在新节点上仅启动本机服务,避免全集群重启:
    • HDFS:执行 hdfs --daemon start datanode
    • YARN:执行 yarn --daemon start nodemanager
  • 验证加入结果:
    • 命令行:执行 hdfs dfsadmin -report 查看 Live Nodes 数量与容量;执行 yarn node -list 查看 NodeManager 状态。
    • Web UI:访问 NameNode Web UI(50070)ResourceManager Web UI(8088) 确认新节点出现。
  • 数据均衡:为避免新节点初期数据倾斜,启动均衡器(默认带宽 1MB/s,可按需调整):
    • 启动:hdfs balancer -threshold 5(阈值 5%,值越小越均衡但耗时更长)
    • 带宽:在 hdfs-site.xml 中设置 dfs.balance.bandwidthPerSec(如 10485760 即 10MB/s)后再执行均衡。

三 扩容 ResourceManager 与高可用

  • 当单 ResourceManager 成为瓶颈或存在单点风险时,扩展为 YARN 高可用(HA)
    • 角色规划:部署 2 台 ResourceManager(RM)3+ 台 Zookeeper(ZK) 节点,启用 ZKFC 故障转移;NodeManager 保持不变。
    • 配置要点:在 yarn-site.xml 中启用 yarn.resourcemanager.ha.enabled、配置 yarn.resourcemanager.cluster-idyarn.resourcemanager.zk-addresses,并为两个 RM 分别设置 yarn.resourcemanager.address/resource-tracker.address 等;在 mapred-site.xml 保持 mapreduce.framework.name=yarn
    • 初始化与启动:按官方步骤初始化 ZK 根路径后,依次启动 Zookeeper、两个 ResourceManagerNodeManager;通过 8088 页面验证 Active/Standby 状态与故障切换。

四 缩容与安全移除节点

  • 优雅下架流程:
    1. hdfs-site.xml 中配置 dfs.hosts.exclude,指向排除清单文件(每行一个主机名)。
    2. NameNode 执行 hdfs dfsadmin -refreshNodes,触发 Decommission 流程,等待块复制完成。
    3. 通过 hdfs dfsadmin -report 确认节点状态为 Decommissioned
    4. workersdfs.hosts.exclude 中移除该主机名,并停止新节点上的 DataNode/NodeManager
    5. 如需替换节点,重复“添加节点”流程后,再执行上述下架步骤。

五 常见问题与快速排查

  • 新节点未出现在 Live Nodes:检查 workers/workers 文件一致性/etc/hosts 解析SSH 免密防火墙/安全组DataNode 日志($HADOOP_HOME/logs/)
  • 均衡速度慢:调整 dfs.balance.bandwidthPerSec,在业务低峰期执行。
  • 访问 Web UI 报错或空白:确认访问的是 HTTP 端口(50070/8088) 而非 IPC 端口,以及浏览器与反向代理配置是否正确。
  • 时间与解析异常:排查 NTP/etc/hosts 127.0.1.1 冲突,必要时统一 DNS 与时间源。

0