`

hadoop主节点(NameNode)备份策略以及恢复方法

阅读更多

from: http://jiajun.javaeye.com/blog/809125

一、dits和fsimage   首先要提到两个文件edits和fsimage,下面来说说他们是做什么的。

那么问题来了,只有在名称节点(NameNode)启动的时候才会合并fsimage和edits,那么久而久之edits文件会越来越大,特别是大型繁忙的HDFS集群。这种情况下,由于某种原因你要重启名称节点(NameNode),那么会花费很长的时间去合并fsimge和edits,然后HDFS才能运行。

二、Secondary NameNode   目前使用的版本hadoop-0.20.2可以使用Secondary NameNode来解决上面的问题。Secondary NameNode定期合并fsimage和edits日志,把edits日志文件大小控制在一个限度下。因为内存需求和NameNode差不多(On the same order),所以Sencondary NameNode通常要运行在另外个机器上。 secondary NameNode配置在conf/masters文件,启动命令:bin/start-dfs.sh(如果你使用不建议的start-all.sh也是会启动的)。

三、什么时候checkpiont secondary NameNode 什么时候执行checkpoint来合并fsimage和eidts。呢?有两个配置参数控制:

secondary NameNode 保存最后一次checkpoint的结果,存储结构和主节点(NameNode)的一样,所以主节点(NameNode)可以随时来读取。

如果你没有启动secondary NameNode 那么可以试试 bin/hadoop secondarynamenode -checkpoint 甚至 bin/hadoop secondarynamenode -checkpoint force. 看看生成的文件。

checkpoint可以解决重启NameNode时间过长的弊端。另外还有偏方:

四、Import Checkpoint(恢复数据)

如果主节点挂掉了,硬盘数据需要时间恢复或者不能恢复了,现在又想立刻恢复HDFS,这个时候就可以import checkpoint。步骤如下:

(1)拿一台和原来机器一样的机器,包括配置和文件,一般来说最快的是拿你节点机器中的一台,立马能用(部分配置要改成NameNode的配置: 所有机器的fs.default.name,mapred.job.tracker改成与新机器对应,修改新机器的master配置)

(2)创建一个空的文件夹,该文件夹就是配置文件中dfs.name.dir所指向的文件夹。

(3)拷贝你的secondary NameNode checkpoint出来的文件,到某个文件夹,该文件夹为fs.checkpoint.dir指向的文件夹

(4)执行命令bin/hadoop namenode -importCheckpoint

这样NameNode会读取checkpoint文件,保存到dfs.name.dir。但是如果你的dfs.name.dir包含合法的fsimage,是会执行失败的。因为NameNode会检查fs.checkpoint.dir目录下镜像的一致性,但是不会去改动它。

一般建议给maste配置多台机器,让namesecondary与namenode不在同一台机器上

值得推荐的是,你要注意备份你的dfs.name.dir和 ${hadoop.tmp.dir}/dfs/namesecondary。


五、Checkpoint Node 和 Backup Node
在后续版本中hadoop-0.21.0,还提供了另外的方法来做checkpoint:Checkpoint Node 和 BackupNode。则两种方式要比secondary NameNode好很多。所以 The Secondary NameNode has been deprecated. Instead, consider using the Checkpoint Node or Backup Node.Checkpoint Node像是secondary NameNode的改进替代版,Backup Node提供更大的便利,这里就不再介绍了。

更多信息请查看 java进阶网 http://www.javady.com

分享到:
评论

相关推荐

    Hadoop单机模式的配置与安装

    前言: 由于Hadoop属于java程序,所以,安装Hadoop之前需要先安装jdk。...说以对于HDFS文件系统来说,需要一个节点随时给他复制编辑到名称节点NameNOde里面去。这样的一个类似于备份的节点叫做SecondaryNameNode。

    Hadoop大数据平台构建、HDFS配置、启动与验证教学课件.pptx

    主节点使用 hadoop 用户登录 [root@master ~]# su – hadoop --从root用户切换为hadoop身份 通过 SecureCRT 软件上传 Hadoop安装文件到 /opt 目录,再由hadoop用户解压 [hadoop@master ~]$ cd /opt [hadoop@master ...

    hadoop学习手册

    NameNode、JobTracker所在节点为主节点(负责管理),DataNode和TaskTracker所在节点为从节点(负责干活儿)。NameNode节点负责将一个文件分成若干文件块,并记录了HDFS文件系统中的文件块放了在哪些DataNode中(一...

    基于hadoop对某网站日志分析部署实践课程设计报告参考模板.doc

    首先开启Hadoop集群:start-all.sh:开启所有的Hadoop所有进程,在主节点上进行 NameNode它是Hadoop 中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问。 Secondary NameNode.....

    hadoop-管理

    首先,把新节点的 IP或主机名 加入主节点(master)的 conf/slaves 文件。 然后登录新的从节点,执行以下命令: $ cd path/to/hadoop $ bin/hadoop-daemon.sh start datanode $ bin/hadoop-daemon.sh start ...

    Hadoop-v2-MasterNode:在基于CentOSLinux上配置Hadoop版本2主节点的角色

    Hadoop主节点 该Ansible角色用于配置Hadoop v2 MasterNode! 该角色将使用最稳定的Hadoop 2版本,即Hadoop-2.10.1 该角色用于仅在基于CentOSLinux上配置Hadoop。 要求 需要Hotspot Java版本8。 在此角色中,特别...

    从零开始Hadoop安装和配置.rar

    说明,因为这里涉及到多台计算机的共同操作,对于主节点namenode 整篇文章照做,对于datanode节点,除了Hadoop的配置,其他照做,如果配置主机数为多太,只需在后更改hadoop配置文件即可 ________________

    从零开始Hadoop安装和配置.docx

    说明,因为这里涉及到多台计算机的共同操作,对于主节点namenode 整篇文章照做,对于datanode节点,除了Hadoop的配置,其他照做,如果配置主机数为多太,只需在后更改hadoop配置文件即可 ________________

    hadoop集群信息

    搭建高可用的Hadoop集群,基于NFS共享磁盘的namenode配置,使用zookeeper进行主节点推举

    ubuntu下Hadoop的伪分布式配置

    2. 配置 Hadoop 的配置文件 `core-site.xml`,添加 NameNode 和 DataNode 的配置信息。 3. 启动 Hadoop 伪分布式模式,使用 `start-all.sh` 命令启动 Hadoop。 结论 通过配置 Hadoop 的伪分布式模式,我们可以在 ...

    大数据hadoop集群部署-最详细的部署-2.8.5.pdf

    HDFS HA通常由两个NameNode组成,一个处于Active状态,另一个处于Standby状态。Active NameNode对外提供服务,而...Zookeeper的作用是负责HDFS中NameNode主备节点的选举,和YARN框架下ResourceManaer主备节点的选举。

    Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群概述 在大数据处理中,高可用集群是非常重要的,Hadoop HA高可用集群可以提供高可靠性和高可用性,确保数据处理不中断。该集群由...

    hadoop大数据就业面试题

    3. 增加一个新的存储节点:在新的节点上执行 Hadoop daemon.sh start datanode,然后在主节点执行 hadoop dfsadmin -refreshnodes。 删除一个节点:在主节点执行 hadoop mradmin -refreshnodes。 四、Hadoop 的调度...

    EasyHadoop实战手册

    2.HDFS,hadoop的分布式文件系统3.NameNode,hadoop HDFS元数据主节点服务器,负责保存DataNode 文件存储元数据信息。4.JobTracker,hadoop的Map/Reduce调度器,负责与TackTracker通信分配计算任务并跟踪任务进度。5....

    Hadoop2.2.0集群搭建手册

    2、采用hadoop2.0官方提供QJM —HDFS,HA的解决方案,在QJM方案中,主备NameNode之间通过一组JournalNode同步元数据信息。 3、这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当...

    ⑤配置虚拟机Hadoop.docx

    1. 配置三台虚拟机,一台为主节点(Master),两台为次节点(Slave)。 2. 修改每台机器的主机名(hostname),使用命令 `hostnamectl set-hostname` 设置主机名。 3. 修改每个虚拟机的 `/etc/hosts` 文件,然后将其...

    Apress - Pro Hadoop

     MapReduce则是JobTracker节点为主,分配工作以及负责和用户程序通信。  HDFS和MapReduce实现是完全分离的,并不是没有HDFS就不能MapReduce运算。  Hadoop也跟其他云计算项目有共同点和目标:实现海量数据的...

    实验项目 MapReduce 编程

    2. 在 Hadoop 集群主节点上搭建 MapReduce 开发环境 Eclipse。 3. 查看 Hadoop 自带的 MR-App 单词计数源代码 WordCount.java,在 Eclipse 项目 MapReduceExample 下建立新包 com.xijing.mapreduce,模仿内置的 ...

    Hadoop分布式文件系统-架构和设计要点

    Namenode 执行文件系统的namespace 操作,例如打开、关闭、重命名文件和目录,同时决定 block 到具体 Datanode 节点的映射。Datanode 在 Namenode 的指挥下进行block 的创建、删除和复制。 HDFS 支持传统的层次型...

    hadoop-utils:Apache Hadoop 2.6.0 安装与配置

    安装: 首先,您必须在主节点之前在从节点上安装 Apache Hadoop,对于每个从节点运行以下命令行: ./hadooputils.py --install=slave --hostname=slavenode1 --namenode=namenodeINFO -- Start Apache Hadoop Pre-...

Global site tag (gtag.js) - Google Analytics