1.停掉外部接入服务;

2 NameNode Metadata备份;

2.1 备份fsimage数据,(该操作适用HA和非HA的NameNode),使用如下命令进行备份:

[root@cdh01 dfs]# mkdir nn_metadata_back

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

[root@cdh01 dfs]# ll nn_metadata_back

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

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

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

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

将/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

cdh中hdfs非ha环境迁移Namenode与secondaryNamenode,从uc机器到阿里;的更多相关文章

  1. CDH中HDFS的WEB UI外网无法访问的问题

    文章来自:http://www.cnblogs.com/hark0623/p/4177794.html 转载请注明 其实问题很简单,因为在CDH中hdfs-site.xml配置文件中WEB UI配置的 ...

  2. hadoop从非HA转到NAMENODE HA时需要注意的一个问题

    配置core-site.xml 配置hdfs-site.xml 配置mapred-site.xml 配置yarn-site.xml 纷发至其他节点 修改RM 2 ..N 上面的节点信息 格式化ZK h ...

  3. 浅谈HDFS(二)之NameNode与SecondaryNameNode

    NN与2NN工作机制 思考:NameNode中的元数据是存储在哪里的? 假设存储在NameNode节点的硬盘中,因为经常需要随机访问和响应客户请求,必然效率太低,所以是存储在内存中的 但是,如果存储在 ...

  4. 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境

    原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...

  5. [原创]PostgreSQL Plus Advince Server在 HA环境中一对多的Stream Replication配置(三)

    五.准备HA环境1.准备yum源a.安装vsftp服务,将光盘镜像copy到本地ftp目录作为yum源.[root@s1 ~]# mount 可以看到cdrom已经挂载了,首先安装vsftp服务[ro ...

  6. 在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数

    目前项目中有个需求,需要在WebForm中去构造MVC的URL信息,这里写了一个帮助类可以在ASP.NET非MVC环境中(WebForm中)构造MVC的URL信息,主要就是借助当前Http上下文去构造 ...

  7. [原创]PostgreSQL Plus Advince Server在 HA环境中一对多的Stream Replication配置(四)

    八.HA环境下配置多节点的sshVIP(s1):[root@s1 ~]# mkdir /opt/PostgresPlus/9.2AS/.ssh[root@s1 ~]# chown enterprise ...

  8. 在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数,以及如何根据URL解析出匹配到MVC路由的Controller和Action

    目前项目中有个需求,需要在WebForm中去构造MVC的URL信息,这里写了一个帮助类可以在ASP.NET非MVC环境中(WebForm中)构造MVC的URL信息,主要就是借助当前Http上下文去构造 ...

  9. hadoop中HDFS的NameNode原理

    1. hadoop中HDFS的NameNode原理 1.1. 组成 包括HDFS(分布式文件系统),YARN(分布式资源调度系统),MapReduce(分布式计算系统),等等. 1.2. HDFS架构 ...

随机推荐

  1. [emerg]: getpwnam(“nginx”) failed

    [root@localhost nginx-1.11.2]# /usr/local/nginx/sbin/nginx nginx: [emerg] getpwnam("nginx" ...

  2. 日期字符串解析--SimpleDateFormat严格限制日期转换setLenient(false)

    输入“33/12/2011”,用SimpleDateFormat parse()方法,转化为Date(2012,01,02).这样处理相当“33/12/2011”是正常输入,如果需要"33/ ...

  3. 用PSCP在Windows和Linux之间相互传输文件

    在Linux服务器之间相互传文件我们常用 scp命令,但是在Linux和Windows之间相互传输就不那么直接了. 使用 Putty的 PSCP 则会简单的多 1. 下载 http://www.chi ...

  4. linux内核追踪(trace)(QEMU+gdb)

    1.引言 Linux内核是一个很大的模块,如果只是看源码有时会难以理解Linux内核的一些代码设计情况,如果可以结合Linux内核运行同时阅读源码再好不过,本文大致介绍Linux内核追踪方式,采用工具 ...

  5. git删除指定文件夹

    1.在本地仓库删除指定文件 git rm 文件名名称 2.在本地仓库删除指定文件夹 git rm -r 文件夹/ 3.提交修改 git commit -m"删除文件夹" 4.推送到 ...

  6. CentOS7 安装 Docker 以及 Shipyard管理端

    简介: Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止. Docker 帮助系统管理员和程序员在容器中开发应用 ...

  7. Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介

    约定 还记得上版本的第二十四篇的约定嘛?现在出来履行啦~ 为什么要重制? 之前写的专栏都是按照心情写的,在最初的时候笔者什么都不懂,而且文章的发布是按照很随性的一个顺序.结果就是说,大家都看完了,都还 ...

  8. Vue聊天框默认滚动到底部

    功能场景 在开发中,我们总能遇到某些场景需要运用到聊天框,比如客服对话.如果你不是一名开发人员,可能你在使用QQ或者聊天工具的时候并没有注意到,当你发出一条消息的时候,窗体会默认滚动到最底部,让用户可 ...

  9. 浅谈JS异步轮询和单线程机制

    单线程特点执行异步操作 js是单线程语言,浏览器只分配给js一个主线程,用来执行任务(函数),但一次只能执行一个任务,这些任务就会排队形成一个任务队列排队等候执行.一般而已,相对耗时的操作是要通过异步 ...

  10. C++笔记016:const 基础

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 笔记十六关于const关键字,在C语言和C++中const的表现是不同的. 先看一下const基础知识. 对const的初级理解:cons ...