CDH中对Hadoop进行扩容的步骤

‌一、添加新节点(横向扩容)‌

  1. ‌新节点基础配置‌

    • ‌网络与主机名‌:修改新节点的IP地址和主机名,确保与集群其他节点在同一网络并更新所有节点的/etc/hosts文件‌
    • 防火墙设置:关闭防火墙、禁止防火墙开机自启。
    • ‌SSH免密登录‌:生成新节点的SSH密钥并分发到NameNode,确保集群节点间可无密码通信‌
    • ‌时间同步‌:配置NTP服务或改用chrony确保时间同步。
    • ‌JDK安装‌:确保所有节点都安装了JDK。
    • 关闭(禁用) SELINUX。
    • 关闭(禁用)透明大页面。
    • 永久关闭 swap 
  2. ‌Cloudera Manager(CM)配置‌

    • ‌添加主机到CM‌:在CM控制台中,通过“添加主机”功能输入新节点IP,CM会自动验证并安装Agent‌
    • ‌分配角色‌:为新节点分配DataNode、NodeManager等角色,CM会自动同步配置并启动服务‌
  3. ‌HDFS与YARN配置更新‌

    • ‌更新dfs.hosts文件‌:在NameNode的HDFS配置中指定允许连接的DataNode列表,并执行hdfs dfsadmin -refreshNodes刷新节点列表‌
    • ‌更新slaves文件‌:将新节点主机名添加到slaves文件,确保后续集群重启时自动加载新节点‌
  4. ‌验证与负载均衡‌

    • ‌检查集群状态‌:通过CM或Web UI确认新节点的DataNode和NodeManager状态为正常‌
    • ‌执行Balancer‌:运行hdfs balancer命令,均衡数据分布以避免热点问题‌

二、扩展磁盘空间(纵向扩容)‌

  1. ‌新增硬盘操作‌

    • ‌物理挂载磁盘‌:在虚拟机或物理机上添加新硬盘,重启后使用fdisk分区并格式化为XFS或EXT4文件系统‌
    • ‌持久化挂载‌:在/etc/fstab中配置自动挂载,例如:
      UUID=<磁盘UUID> /dfs/dn xfs defaults 0 0
      并执行mount -a加载新磁盘‌
  2. ‌HDFS数据目录扩展‌

    • ‌修改hdfs-site.xml‌:在DataNode的配置中添加新磁盘挂载路径(如/dfs/dn)到dfs.datanode.data.dir属性‌
    • ‌重启DataNode服务‌:通过CM或命令行重启DataNode,使新磁盘生效‌
  3. ‌单节点磁盘均衡(Hadoop 3+)‌

    • ‌启用磁盘均衡‌:执行hdfs diskbalancer -plan <节点IP>生成均衡计划,并通过hdfs diskbalancer -execute执行‌

注意事项‌

  1. ‌版本兼容性‌:确保新节点的操作系统、JDK和Hadoop版本与集群一致‌
  2. ‌Hadoop 2.x限制‌:若使用Hadoop 2.x,新增磁盘需手动迁移数据,因缺乏单节点内磁盘均衡功能‌
  3. ‌监控与测试‌:扩容后通过CM监控资源使用率,并执行读写测试验证性能稳定性‌

 

关键操作示例

  • ‌刷新节点列表‌:
    hdfs dfsadmin -refreshNodes # 更新HDFS节点
    yarn rmadmin -refreshNodes # 更新YARN节点
  • ‌磁盘均衡执行‌:
    hdfs diskbalancer -plan <DataNode_IP> -out /tmp/plan.json hdfs diskbalancer -execute /tmp/plan.json

通过上述步骤可安全完成CDH集群的横向(节点)和纵向(磁盘)扩容,确保数据分布的均衡性和服务稳定性‌

posted @ 2025-03-20 11:06  业余砖家  阅读(200)  评论(0)    收藏  举报