0601-6.1.0-解除授权后的机器重新加入集群异常分析

1.问题重现


  • 测试环境

1.CDH5.16.1

2.Redhat7.4

3.集群已启用Kerberos

1.通过CM页面进入“主机”->“所有主机”。


0601-6.1.0-解除授权后的机器重新加入集群异常分析



2.在右侧菜单栏勾选“群集”,默认是不勾选的。

0601-6.1.0-解除授权后的机器重新加入集群异常分析


0601-6.1.0-解除授权后的机器重新加入集群异常分析


3.勾选cdsw.fayson.com,然后点击“从群集中删除”,这时CM会解除授权这台节点,如果这台是DataNode,因为要复制数据,可能需要较长的时间,但Fayson为了更快的重现异常,该节点只有Gateway角色。


0601-6.1.0-解除授权后的机器重新加入集群异常分析



点击“确认”

0601-6.1.0-解除授权后的机器重新加入集群异常分析


0601-6.1.0-解除授权后的机器重新加入集群异常分析


0601-6.1.0-解除授权后的机器重新加入集群异常分析


可以从上图确认cdsw.fayson.com机器已经从Cluster1中删除。

4.这里假设我们突然又想把cdsw.fayson.com机器加入到Cluster1中,因为这台机的Agent并没有卸载,依旧受CM管理,按照常理我们一般应用一个角色模板即可,这里勾选cdsw.fayson.com,然后点击“应用主机模板”,发现报错。

0601-6.1.0-解除授权后的机器重新加入集群异常分析


0601-6.1.0-解除授权后的机器重新加入集群异常分析


2.问题解决


1.通过CM页面进入“主机”->“所有主机”,然后点击“Add Hosts”,点击“经典向导”。


0601-6.1.0-解除授权后的机器重新加入集群异常分析



输入cdsw.fayson.com,点击搜索

0601-6.1.0-解除授权后的机器重新加入集群异常分析


0601-6.1.0-解除授权后的机器重新加入集群异常分析


显示该节点已经受管,没办法“继续”。

2.选择“HDFS”服务,点击“实例”


0601-6.1.0-解除授权后的机器重新加入集群异常分析



点击“添加角色实例”


0601-6.1.0-解除授权后的机器重新加入集群异常分析



在Gateway里尝试选择cdsw.fayson.com


0601-6.1.0-解除授权后的机器重新加入集群异常分析



并未发现cdsw.fayson.com机器,无法添加为cdsw.fayson.com机器添加角色。

3.登录Cloudera Manager的元数据库。

[root@ip-172-31-6-83 ~]# mysql -u root -p 

Enter password:
MariaDB [(none)]> use cm;
MariaDB [cm]> show tables;
MariaDB [cm]> select HOST_ID,NAME,IP_ADDRESS,STATUS,CLUSTER_ID from HOSTS;



0601-6.1.0-解除授权后的机器重新加入集群异常分析



发现cdsw.fayson.com机器的字段“CLUSTER_ID”为NULL,不属于任何集群。

4.更新cdsw.fayson.com机器的字段“CLUSTER_ID”,更新为与其他机器相同。

MariaDB [cm]> update HOSTS set CLUSTER_ID='1' where HOST_ID=9;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [cm]> select HOST_ID,NAME,IP_ADDRESS,STATUS,CLUSTER_ID from HOSTS;
+---------+--------------------------------------------------+---------------+--------+------------+
| HOST_ID | NAME | IP_ADDRESS | STATUS | CLUSTER_ID |
+---------+--------------------------------------------------+---------------+--------+------------+
| 1 | ip-172-31-6-83.ap-southeast-1.compute.internal | 172.31.6.83 | NA | 1 |
| 2 | ip-172-31-9-113.ap-southeast-1.compute.internal | 172.31.9.113 | NA | 1 |
| 4 | ip-172-31-4-105.ap-southeast-1.compute.internal | 172.31.4.105 | NA | 1 |
| 8 | ip-172-31-12-142.ap-southeast-1.compute.internal | 172.31.12.142 | NA | 1 |
| 9 | cdsw.fayson.com | 172.31.13.133 | NA | 1 |
+---------+--------------------------------------------------+---------------+--------+------------+
5 rows in set (0.00 sec)
MariaDB [cm]>



0601-6.1.0-解除授权后的机器重新加入集群异常分析



5.回到Cloudera Manager,点击“主机”-“Parcel”,会发现CM开始将Parcel复制,分发并激活到cdsw.fayson.com机器,虽然cdsw.fayson.com机器上有CDH的Parcel。也可能不用。

6.点击“主机”-“所有主机”,通过CM界面也可以发现cdsw.fayson.com机器已经属于“Cluster1”。


0601-6.1.0-解除授权后的机器重新加入集群异常分析



7.再次选择cdsw.fayson.com机器,然后点击“应用主机模板”,发现已经给可以选择。

0601-6.1.0-解除授权后的机器重新加入集群异常分析


0601-6.1.0-解除授权后的机器重新加入集群异常分析


0601-6.1.0-解除授权后的机器重新加入集群异常分析


发现已经应用成功。

3.总结


1.当从CM解除授权一台机器,如果后悔了想直接加回到集群,如果直接应用主机模板会失败。

2.另外通过“Add Hosts”即扩容按钮,想将这台机器加入集群也会失败,因为显示这台机器已经受CM管理,无法点击“继续”按钮。

3.通过选择某一个服务比如HDFS,在“实例”页面想要为某一个角色比如HDFS Gateway增加这一台机器,发现在弹出来的对话框中并没有这台解除授权的机器。

4.目前可行的办法是修改数据库的HOSTS表,更新该主机的CLUSTER_ID字段,使其属于旧的集群,这样再次在“所有主机页面”勾选它,就可以直接应用主机模板了。

5.当然你还可以完全卸载这台机器后再使用扩容的方式加入到该集群中。完全卸载就包括remove掉Cloudera相关的rpm包,另外还要删除所有CDH相关的文件夹,参考《 》。


分享到:


相關文章: