0
点赞
收藏
分享

微信扫一扫

0531-6.1-如何手动迁移JournalNode

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


Fayson的github:

​​https://github.com/fayson/cdhproject​​


提示:代码块部分可以左右滑动查看噢


1

文档编写目的


Fayson在上一篇文章《​​0530-6.1-如何只是迁移NameNode或JournalNode​​》,主要介绍了通过Cloudera Manager来界面化向导式迁移JournalNode,本文Fayson主要会实操演示如何手动迁移JournalNode角色。


  • 测试环境

1.CDH6.1

2.Redhat7.4

3.HDFS已经启用HA


2

环境准备


1.启用HDFS HA成功后再次查看HDFS服务的“实例”页面,可以看到一共4个节点在一个HDFS HA的集群中的不同角色划分。


0531-6.1-如何手动迁移JournalNode_hdfs


2.接下来本文,会开始演示将ip-172-31-6-83上的JournalNode角色迁移到ip-172-31-9-113节点。首先我们停止ip-172-31-6-83节点上的JournalNode服务,并且删除,模拟故障。


0531-6.1-如何手动迁移JournalNode_图片放大_02

0531-6.1-如何手动迁移JournalNode_hadoop_03

0531-6.1-如何手动迁移JournalNode_hadoop_04


3.这是CM提示警告,JournalNode必须为奇数个,最少三个。


0531-6.1-如何手动迁移JournalNode_hdfs_05


3

手动迁移JournalNode


1.首先我们停止HDFS服务。


0531-6.1-如何手动迁移JournalNode_图片放大_06


停止成功


0531-6.1-如何手动迁移JournalNode_hadoop_07


2.因为我们要将ip-172-31-6-83上的JournalNode角色迁移到ip-172-31-9-113节点,我们从另外2个正常的JN节点中的一台ip-172-31-4-105拷贝JN的edits数据目录到ip-172-31-9-113节点。


[root@ip-172-31-4-105 dfs]# cd /dfs
[root@ip-172-31-4-105 dfs]# tar czvf jn.tar.gz jn/
[root@ip-172-31-4-105 dfs]# scp jn.tar.gz root@ip-172-31-9-113:/dfs


0531-6.1-如何手动迁移JournalNode_图片放大_08

0531-6.1-如何手动迁移JournalNode_hadoop_09


注意:/dfs目录是Fayson的集群所配置的JN的edits的目录。

我们登录到ip-172-31-9-113上进行检查传过来的JN数据。


[root@ip-172-31-9-113 dfs]# cd /dfs
[root@ip-172-31-9-113 dfs]# ll
total 192
drwx------ 3 hdfs hadoop 21 Feb 1 14:09 dn
-rw-r--r-- 1 root root 194699 Feb 1 14:14 jn.tar.gz
[root@ip-172-31-9-113 dfs]# tar xvzf jn.tar.gz


0531-6.1-如何手动迁移JournalNode_图片放大_10


注意:解压后的jn目录的用户属组与权限必须正确,可以与之前的正常JN节点ip-172-31-4-105中相同的目录进行比较。


3.回到HDFS服务的“实例”页面,添加JN角色给新的节点ip-172-31-4-105


0531-6.1-如何手动迁移JournalNode_图片放大_11


点击“添加角色实例”


0531-6.1-如何手动迁移JournalNode_hdfs_12


在JournalNode栏目中选择ip-172-31-4-105


0531-6.1-如何手动迁移JournalNode_图片放大_13


点击“继续”


0531-6.1-如何手动迁移JournalNode_hdfs_14


CM的警告报错也消失了。


4.重启HDFS服务


0531-6.1-如何手动迁移JournalNode_图片放大_15

0531-6.1-如何手动迁移JournalNode_hdfs_16


启动成功


0531-6.1-如何手动迁移JournalNode_hdfs_17


5.进入HDFS服务页面,点击“操作”->“滚动编辑”,该步骤主要是为了强制同步3个JournalNode的状态,毕竟ip-172-31-4-105是新加入的。


0531-6.1-如何手动迁移JournalNode_hadoop_18

0531-6.1-如何手动迁移JournalNode_hadoop_19


同步成功


0531-6.1-如何手动迁移JournalNode_图片放大_20


6.HDFS功能简单验证


0531-6.1-如何手动迁移JournalNode_hdfs_21


4

总结


1.如果你想将JournalNode角色从一个节点迁移到另外一个节点,可以使用Cloudera Manager界面向导式执行,也可以使用本文手动迁移的方式,不过优先建议采用CM界面化的标准方式。


2.当然本文也适用于如果你一个JournalNode所在节点损坏的情况,如果你需要恢复其中一个JournalNode节点,也可以采用本文的方法。


3.该功能在执行过程中会需要重启整个HDFS服务,请提前做好停机规划。


4.注意在从一个健康的节点拷贝JN的edits数据目录到新的节点时,一定要注意目录的用户属组和权限正确。


5.在迁移完毕,HDFS服务正式起来后,需要执行JournalNode的“滚动编辑”操作,以强制同步3个JournalNode节点的状态,毕竟有新加入的JN节点。


提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。



推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

0531-6.1-如何手动迁移JournalNode_hdfs_22

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操


举报

相关推荐

0 条评论