温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github: https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1
文档编写目的
这里我们假设一个场景,你已经有一个CDH集群了,因为硬件或者OS升级,你需要把这个节点服务器拿出来进行维护处理,如果是DataNode是比较简单的,可以很简单的进行下线甚至暴力删除都可以直接将其从集群中剥离出来,但是如果这个节点是NameNode呢。其实Cloudera Manager也提供了界面化迁移角色的功能,比较方便,我们知道NameNode节点一般都会同时有NameNode,JournalNode和Failover Controller角色,Fayson本文会主要介绍如何迁移NameNode相关角色。
- 测试环境
1.CDH6.1
2.Redhat7.4
3.采用root进行操作
2
环境准备
1.我们首先准备一个CDH6.1的集群,进入HDFS服务的“实例”页面。
2.点击“迁移角色”。
发现无法进行下一步的操作,提示需要启用了HDFS HA的集群才可以,我们先启用HDFS,该过程省略,可以参考Fayson之前的文章《6.1-如何使用Cloudera Manager启用HDFS的HA》。
3.启用HDFS HA成功后再次查看HDFS服务的“实例”页面。
3
迁移NameNode相关角色
1.在HDFS服务的“实例”页面,点击“迁移角色”
2.源主机我们选择ip-172-31-9-113.ap-southeast-1.compute.internal,目标主机我们选择ip-172-31-12-142.ap-southeast-1.compute.internal
注意到你可以选择是否同时迁移NameNode和JournalNode,或者只迁移某一个,默认是全部迁移,另外Failover Controller必须和NameNode节点在同一个机器,不能进行勾选。最下方提示该操作需要重启集群,必须勾选才能继续往下走,这里我们勾选,并点击“继续”。
3.开始进行NameNode相关角色的迁移。
所有命令执行成功:
点击完成
4.查看NameNode,JournalNode以及Failover Controller已经迁移到了我们所选择的节点ip-172-31-12-142上。
集群一切正常:
4
总结
1.如果你想将NameNode角色所在的节点从CDH集群中剥离,可以使用Cloudera Manager界面向导式执行。
2.Cloudera Manager对于HDFS服务的角色迁移功能只针对NameNode,JournalNode和Failover Controller角色,不包括其他角色比如DataNode。
3.Cloudera Manager对于HDFS服务的角色迁移必须在HDFS已经启用HA的情况下执行,即如果你只有一个NameNode,Cloudera Manager没有提供你只是迁移这个NameNode到新的节点。
4.该功能在执行过程中会需要重启整个HDFS服务,请提前做好停机规划。
5.在迁移选择节点时,你可以选择同时迁移NameNode和JournalNode到另外一台主机,Failover Controller默认也会被迁移到新的主机,因为Failover Controller角色必须和NameNode角色在同一节点。你也可以选择只迁移NameNode或JournalNode角色。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。