cdh中hdfs非ha环境迁移Namenode与secondaryNamenode,从uc机器到阿里;

1.停掉外部接入服务;html

2 NameNode Metadata备份;node

2.1 备份fsimage数据,(该操做适用HA和非HA的NameNode),使用以下命令进行备份:服务器

[root@cdh01 dfs]# mkdir nn_metadata_backoop

[root@cdh01 dfs]# hdfs dfsadmin -fetchImage nn_metadata_back/fetch

[root@cdh01 dfs]# ll nn_metadata_back日志

2.2 备份edits数据(该操做适用非HA的NameNode),使用以下命令备份:htm

[root@cdh01 current]# sudo -u hdfs hdfs dfsadmin –rollEditsmd5

2.3 拷贝edits日志到备份目录(该操做适用非HA的NameNode),使用以下命令进行备份hadoop

在CM上找到NameNode的dfs.name.dir配置目录it

 

将/data/dfs/nn/current目录下的edits_0*开头的文件拷贝至备份目录

[root@cdh01 dfs]# mkdir nn_metadata_back/edits

[root@cdh01 dfs]# cp /data/dfs/nn/current/edits_0* nn_metadata_back/edits/

[root@cdh01 dfs]#

 

2.4备份VERSION文件(该操做适用于HA和非HA的NameNode),这个文件不须要按期备份,由于它不会更改,但该文件很是重要,由于文件中包含了clusterID一级其它详细信息 

[root@cdh01 dfs]# cp /data/dfs/nn/current/VERSION nn_metadata_back/

[root@cdh01 dfs]# ll nn_metadata_back/

total 1852

drwxr-xr-x 2 root root    831488 Oct 17 10:49 edits

-rw-r--r-- 1 root root     1051656 Oct 17 10:42 fsimage_0000000000007076989

drwx------ 3 root root     4096 Oct 17 14:06 snn

-rw-r--r-- 1 root root     173 Oct 17 10:49 VERSION

 

 

3  NameNode Metadata恢复;

3.1经过CM先将uc机器上namenode删除,而后在ali机器上加一个namenode节点;

 

3.2 经过CM为新加的节点添加NameNode角色;

 

3.3    检查NameNode的dfs.name.dir配置的目录在服务器上是否存在,若是不存在则须要手动的建立并确保目录属主为hdfs:hdfs,且父目录权限为700;

[root@cdh01 ~]# mkdir -p /data/disk1/dfs/nn/

[root@cdh01 ~]# chown hdfs:hadoop /data/disk1/dfs/nn

[root@cdh01 ~]# chmod 700 /data/disk1/dfs/nn

 

3.4    将VERSION和最后备份的fsimage文件复制到/data/disk1/dfs/nn/current目录下

[root@cdh01 dfs]# mkdir -p /data/disk1/dfs/nn/current
[root@cdh01 dfs]# cp /data/disk1/nn_metadata_back/VERSION /data/disk1/dfs/nn/current/
[root@cdh01 dfs]# cp /data/disk1/nn_metadata_back/fsimage_0000000000004483704 /data/disk1/dfs/nn/current/
[root@cdh01 dfs]# cp /data/disk1/nn_metadata_back/edits/* /data/disk1/dfs/nn/current/
[root@cdh01 dfs]# chown -R hdfs:hdfs /data/disk1/dfs/nn/current/

     

 3. 5 为fsimage文件建立md5校验

 [root@cdh01 dfs]# cd nn/current/

[root@cdh01 current]# md5sum fsimage_0000000000004483704 > fsimage_0000000000004483704.md5
[root@cdh01 current]# ll fsimage_0000000000004483704*

 

4  启动namenode,验证服务;

5  迁移secondary namenode要简单些,只需迁移整个snn目录到新节点,注意文件权限,而后经过cm删除uc机器上snn,添加新的snn到ali节点;

 

*****最后在重启集群后,可能会发现hbase master节点起不来,或者不能切换为active状态,能够参考如下文章:

https://community.hortonworks.com/questions/33140/hbase-master-fails-to-start.html

相关文章
相关标签/搜索