SecondaryNamenode应用摘记

原创 2010年11月04日 15:59:00

一、环境

Hadoop 0.20.2、JDK 1.6、Linux操作系统

二、背景

上周五的时候,由于操作系统的原因,导致JDK出现莫名的段错误。无论是重启机器还是JDK重装都无济于事。更可悲的是,出问题的机器就是Master。当时心里就凉了半截,因为secondarynamenode配置也是在这个机器上(默认的,没改过)。不过万幸的是这个集群是测试环境,所以问题不大。借这个缘由,我将secondarynamenode重新配置到其他机器上,并做namenode挂掉并恢复的测试。

三、操作

1、关于secondarynamenode网上有写不错的文章做说明,这里我只是想说关键一点,它不是namenode的备份进程,说白了,namenode挂了,如果secondarynamenode没挂,很不幸,集群一样无法正常工作。这里有个文档翻译的很好,我链接一下:http://blog.csdn.net/AE86_FC/archive/2010/02/03/5284181.aspx

2、secondarynamenode一般来说不应该和namenode在一起,所以,我把它配置到了datanode上。配置到datanode上,一般来说需要改以下配置文件。conf/master、conf/hdfs-site.xml和conf/core-site.xml这3个配置文件,修改部分如下:

master:一般的安装手册都是说写上namenode机器的IP或是名称。这里要说明一下,这个master不决定哪个是namenode,而决定的是secondarynamenode(决定谁是namenode的关键配置是core-site.xml中的fs.default.name这个参数)。所以,这里直接写上你的datanode的IP或机器名称就可以了。一行一个。

hdfs-site.xml:这个配置文件要改1个参数:

0.0.0.0改为你的namenode的IP地址。

<property>
  <name>dfs.http.address</name>
  <value>0.0.0.0:50070</value>
  <description>
    The address and the base port where the dfs namenode web ui will listen on.
    If the port is 0 then the server will start on a free port.
  </description>
</property>

core-site.xml:这里有2个参数可配置,但一般来说我们不做修改。fs.checkpoint.period表示多长时间记录一次hdfs的镜像。默认是1小时。fs.checkpoint.size表示一次记录多大的size,默认64M。

<property>
  <name>fs.checkpoint.period</name>
  <value>3600</value>
  <description>The number of seconds between two periodic checkpoints.
  </description>
</property>

<property>
  <name>fs.checkpoint.size</name>
  <value>67108864</value>
  <description>The size of the current edit log (in bytes) that triggers
       a periodic checkpoint even if the fs.checkpoint.period hasn't expired.
  </description>
</property>

3、配置检查。配置完成之后,我们需要检查一下是否成功。我们可以通过查看运行secondarynamenode的机器上文件目录来确定是否成功配置。首先输入jps查看是否存在secondarynamenode进程。如果存在,在查看对应的目录下是否有备份记录。如下图:

截图1

该目录一般存在于hadoop.tmp.dir/dfs/namesecondary/下面。

四、恢复

1、配置完成了,如何恢复。首先我们kill掉namenode进程,然后将hadoop.tmp.dir目录下的数据删除掉。制造master挂掉情况。

2、在配置参数dfs.name.dir指定的位置建立一个空文件夹; 把检查点目录的位置赋值给配置参数fs.checkpoint.dir; 启动NameNode,并加上-importCheckpoint。(这句话抄袭的是hadoop-0.20.2/hadoop-0.20.2/docs/cn/hdfs_user_guide.html#Secondary+NameNode,看看文档,有说明)

3、启动namenode的时候采用hadoop namenode –importCheckpoint

五、总结

1、secondarynamenode可以配置多个,master文件里面多写几个就可以。

2、千万记得如果要恢复数据是需要手动拷贝到namenode机器上的。不是自动的(参看上面写的恢复操作)。

3、镜像备份的周期时间是可以修改的,如果不想一个小时备份一次,可以改的时间短点。core-site.xml中的fs.checkpoint.period值。

4、写的不对或是有疑问的欢迎发邮件到dajuezhao@gmail.com

NameNode及SecondaryNameNode分析

  • 2017年07月07日 14:46
  • 23KB
  • 下载

学习总结十二:Hadoop学习之SecondaryNameNode

在启动Hadoop时,NameNode节点上会默认启动一个SecondaryNameNode进程,使用JSP命令可以查看到。SecondaryNameNode光从字面上理解,很容易让人认为是NameN...

Hadoop之NameNode和SecondaryNameNode的区别

本文介绍hadoop的secondaryNameNode的特征、特点以及配置方式。
  • qyanjun
  • qyanjun
  • 2017年05月11日 17:19
  • 109

hadoop集群管理之SecondaryNameNode与NameNode

光从字面上来理解,很容易让一些初学者先入为主的认为:SecondaryNameNode(snn)就是NameNode(nn)的热备进程。其 实不是。snn是HDFS架构中的一个组成部分,但是经常由于名...

Hadoop中namenode/secondarynamenode/yarn的一些配置

hadoop2.2.0在64位的机器上需要对源码进行编译(众所周知的槽点),自己比较习惯用centos,不是特别习惯用ubuntu系列。 在centos 6.4 X64下进行编译(我的centos6...

Hadoop-2.4.1学习之SecondaryNameNode、CheckpointNode、BackupNode

在Hadoop-2.x版本之前只存在SecondaryNameNode,没有CheckpointNode、BackupNode的概念,在2.x版本中引入了后两者,增强了对NameNode的同步和备份。...

hdfs中的NameNode,SecondaryNameNode,BackupNode

NameNode:暂且叫它为元数据结点。它实现了NamenodeProtocols 中的接口,而该接口分别有三个父类:ClientProtocol,与客户端的通信。DatanodeProtocol,...

NameNode和SecondaryNameNode关系解析

HDFS集群在启动后会有三个守护进程:NameNode,SecondaryNameNode和DataNode。我们都知道DataNode是用来存放数据的位置,那么NameNode和SecondaryN...

SecondaryNameNode的元数据管理

HDFS中有三种角色:NameNode、SecondaryNameNode、DataNode NameNode:Master节点,用于管理数据块映射、处理客户端的读写请求、配置副本策略、管理HDFS...

hadoop secondarynamenode的作用

1、初学者会见名思义的认为secondarynamenode是namenode的备份其它的,或者认为它们是一样的。实质上,它是namenode的一个快照,会根据configuration中设置的值来决...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SecondaryNamenode应用摘记
举报原因:
原因补充:

(最多只允许输入30个字)