如何向CDH集群添加主机节点

不知不觉干了两年多的大数据开发&运维,想当初入职时因为大数据组开发人手不足(就后来带我的一个人),把本来投的是运维开发岗的我调去了大数据组。虽然当时早就听说做大数据很有前途,但本硕学的都是通信工程的我完全没有基础啊不敢投啊,不知是人品好或是运气好该庆幸自己走了狗屎运转到了有“前途”的岗位,还是因为我的简历上有做Python开发的实习经历,反正我是体会到了大公司对应届校招生调岗是多么的随意。于是从这之后就开始了我的踩坑之旅。。。之所以来CSDN写博客了,是因为踩过的坑如果不记录是不知道什么时候又会再踩一遍的。

首先从CDH开始讲起,因为这是我们大数据组的基石,是CDH让我们告别了刀耕火种(用Apache开源的大数据组件搭建集群)的时代。然而任何软件系统都不是完美的,依然有坑等着你去踩,比如首次部署开启了Auto-TLS的CDH集群在之后扩容增加节点时就折腾了我好久,以下是对避免踩这个坑的记录总结,有什么不对或是有疑惑的地方欢迎指正、讨论和交流。

当CDH集群因资源不足导致负载过高时,需要添加主机并将新增主机纳入HDFS(添加DataNode角色)和YARN(添加NodeManager角色)的管理以减轻集群压力。下面是CDH6.0.1免费版本添加主机的操作步骤,CDH集群初始安装时默认启用了Auto-TLS。

  • 为新增主机配置hostname

    1.使用如下命令为主机设置一个完全限定域名,保证在集群内该主机名唯一

    sudo hostnamectl set-hostname foo-1.example.com

    2.编辑/etc/sysconfig/network,设置HOSTNAME=foo-1.example.com,然后执行hostname foo-1.example.com,最后执行hostname或uname -a命令来验证是否设置成功

    3.编辑各主机的/etc/hosts,设置集群内每台主机IP与完全限定域名的映射如下,全限定域名后可跟非限定名

    1.1.1.1
<think>嗯,用户现在问的是如何在CDH中向主机添加角色。之前他们遇到了systemd服务依赖的问题,现在可能已经解决了,现在开始进行CDH集群的配置。需要先理解CDH中的角色是什么,以及添加角色的步骤。 首先,CDH中的角色指的是各个服务的实例,比如HDFS的DataNode、NameNode,YARN的ResourceManager等。添加角色通常是在Cloudera Manager中完成的,用户可能是在部署集群后需要扩展节点或者增加服务组件。 用户可能是新手,不太清楚Cloudera Manager的操作流程,需要详细步骤。同时,可能需要注意一些前提条件,比如主机已经被正确添加集群中,网络和权限配置正确,Agent已经安装等。 需要分步骤说明,从登录Cloudera Manager开始,到进入主机页面,选择添加角色,然后选择服务类型和具体角色,配置参数,最后部署。此外,还要提醒用户检查主机状态,可能遇到的常见问题,比如主机未被管理、Agent未运行、端口冲突等。 另外,用户可能在添加角色时遇到问题,比如主机不可用或者配置错误,需要给出一些故障排查的方法,比如检查主机网络、Agent日志等。最后,可能还需要说明如何验证角色是否成功添加,比如通过服务状态页面或命令行工具。 要确保回答结构清晰,逐步引导用户完成操作,并涵盖可能的注意事项和问题排查步骤。同时,保持语言简洁,避免技术术语过多,让用户容易理解。</think>在CDHCloudera Distribution for Hadoop)中,向主机添加角色(如HDFS的DataNode、YARN的NodeManager等)需要通过Cloudera Manager(CM)进行操作。以下是详细步骤: --- ### **1. 前提条件** - 主机已**加入集群**且被Cloudera Manager管理。 - 主机满足以下要求: - 已安装Cloudera Manager Agent。 - 网络互通(SSH免密、端口开放)。 - 资源充足(CPU、内存、磁盘)。 --- ### **2. 通过Cloudera Manager添加角色的步骤** #### **(1) 登录Cloudera Manager** 访问Cloudera Manager Web界面(默认地址:`http://<CM服务器IP>:7180`),使用管理员账号登录。 --- #### **(2) 进入主机管理页面** 1. 导航到 **主机(Hosts)** > **所有主机**,确认目标主机状态为 **已管理(Managed)**。 2.主机添加,需先通过 **主机 > 添加主机** 完成注册(需提前安装Agent)。 --- #### **(3) 添加角色到主机** 1. **选择服务**: - 导航到 **集群(Cluster)** > 目标集群 > **服务(Services)**。 - 选择要扩展的服务(如HDFS、YARN、HBase等)。 2. **进入角色添加向导**: - 点击服务页面右上角的 **操作(Actions)** > **添加角色实例(Add Role Instances)**。 3. **选择目标主机**: - 在可用主机列表中勾选要添加角色的主机。 - 选择要部署的具体角色(如DataNode、NodeManager、RegionServer等)。 4. **配置角色参数**: - 根据角色类型配置参数(例如DataNode的数据目录、NodeManager的内存分配等)。 - 若需要,可覆盖默认配置。 5. **部署更改**: - 点击 **继续(Continue)**,Cloudera Manager将自动分发配置并启动角色。 - 观察部署进度条,确保所有操作成功完成。 --- ### **3. 验证角色是否添加成功** 1. **检查服务状态**: - 在服务页面查看新角色实例的状态是否为 **运行中(Running)**。 - 示例:HDFS的DataNode数量应增加,且所有节点健康状态为绿色。 2. **通过命令行验证**: - 登录目标主机,检查进程是否运行: ```bash # 检查DataNode ps -ef | grep DataNode # 检查NodeManager ps -ef | grep NodeManager ``` --- ### **4. 常见问题与解决** - **问题1:主机未显示在可用列表中** - 检查Cloudera Manager Agent是否运行:`systemctl status cloudera-scm-agent`。 - 确认主机已通过CM的 **主机 > 重新运行代理注册** 完成注册。 - **问题2:角色启动失败** - 查看角色日志:在CM界面进入角色实例 > **日志(Logs)**。 - 检查资源冲突(如端口占用)或权限问题(如数据目录不可写)。 - **问题3:配置冲突** - 若同一主机部署多个角色,需确保资源分配合理(如内存、CPU不超限)。 --- ### **5. 扩展操作** - **批量添加角色**:在CM中通过 **批量操作(Bulk Operations)** 同时为多台主机分配角色。 - **自动化部署**:使用Cloudera Manager API或Ansible脚本实现自动化角色部署。 --- 通过以上步骤,可以高效地为CDH集群中的主机添加角色。若需进一步优化,建议参考[Cloudera官方文档](https://docs.cloudera.com/)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值