以下以Hadoop集群加入3台新节点为例,说明如何在其上进行角色的分配.
假如新节点的IP与hostname对应关系如下:
编号 | IP | 主机名 |
---|---|---|
1 | 111.111.111.111 | dn9.hadoop.com |
2 | 111.111.111.112 | dn10.hadoop.com |
3 | 111.111.111.113 | dn11.hadoop.com |
一. 添加角色
1.进入Cloudera Manager主页.
2.点击集群HDFS组件最右侧的倒三角图标, 之后点击菜单中的"实例"选项, 进入HDFS实例列表页面.
3.点击列表页上的"添加角色实例" 按钮, 进入Hadoop角色分配页面.
4.选择角色(如"DataNode) --> 选择主机–>自定义, 之后勾选希望加入的新实例.
此时, CM会自动沿用之前的hdfs本地存储路径,保存hdfs的nn或dn数据, 或yarn的rm或nm节点数据信息, 如下:
对"yarn"的操作同理:
5.如下实例也是按此操作:
- HiveGateway
- Spark 2 Gateway
- Sqoop1
二. 遇到的问题&解决方案
问题1: CM检测到"不良: 当从java进程查看时该主机的主机名与规范名称不一致"
解决方案:
hostnamectl set-hostname dn10.hadoop.com
会直接修改/etc/hosts文件中的内容,替换为命令行中的设置.
稍等片刻, 再次查询CM状态, 发现其已侦测到状态已恢复正常: