本文主要讲述如何通过CM禁用Federation。我前面写过两篇关于Federation的文章,可参看《HDFS Federation(联邦)简介》和《如何通过CM为HDFS启用Federation》,本来打算先发Federation测试的文章,然后再发禁用Federation的,但是这周有事情,没时间整理Federation测试的文档,今天肯定是发不出来了。所以这里做下调整,先把禁用Federation的文章发出来,下周再发Federation测试的文章。
测试环境:
操作系统版本为CentOS 6.8
CM和CDH版本为5.11.2
文章目录结构:
1. 文档编写目的
2. 禁用Federation
2.1 删除NameService
2.2 还原挂载点为“/”
2.3 更新Hive Metastore NameNode
3. 总结
1、点击“Federation与High Availability”,注意下图中有两组NameNode和两组Failover Controller,因为之前启用Federation是共用的JN,所以只存在一组JournalNode。
2、选择要删除的NameService,这里选择删除“nameservice2”。
3、依据实际场景需求,决定是否启动依赖服务及部署客户端配置,默认是两个都勾选上的,这里保持默认选项。
4、CM执行删除NameService操作,不同场景下,删除步骤有所不同,比如共用一组JN,则不会进行JN的删除操作;不勾选启动依赖服务选项,则不会启动依赖HDFS的相关服务,部署客户端配置亦是如此。
5、等待NameService删除操作完成。
6、删除NameService后,可以看到,NameNode、JournalNode和Failover Controller都需要重启,某种程度上来说,这些角色属于服务端,而DataNode和HttpFS属于客户端,这些角色在禁用Federation时就重启了,可参看上图。
虽然NameNode、JournalNode和Failover Controller都需要重启,但是暂时不忙着进行重启操作,因为还有很重要的一步要做。
1、搜索“mount”,删除其他挂载点,将挂载(装入)点配置为“/”
2、回到CM主界面,点击重启按钮,重启HDFS
如果Hive不包含任何库表,此步可跳过。
1、停止Hive服务,点击“更新Hive Metastore NameNode”按钮进行Hive的元数据更新,主要是更改Hive表的location信息,把ViewFS改为原始的Schema。
2、等待更新完成即可。
1、通过CM启用/禁用Federation,都会瞬间停止依赖HDFS的服务,重启DataNode和HttpFS(非滚动重启),一定程度上会影响业务系统的正常使用,目前暂时没有办法能够人为的控制启停服务。
2、通过CM启用/禁用Federation,如果存在Hive库表,则需要执行“更新Hive Metastore NameNode”操作,更新Location。
When your talent can’t support your ambition,
You should calm down and learn. When your ability cannot realize you dreams, You should practice with all your heart. Ask yourself, What kind of life you pursue.