Hadoop伪分布式部署之SecondaryNameNode

前言

在之前的章节中,我们有介绍到伪分布式的hdfsyarn和mapreduce历史服务与日志聚集的部署。接下来我们一起探讨下hadoop的SecondaryNameNode,内容可能较为粗糙,待博主以后水平提升后再来深入细化。

我们的hadoop环境如下
操作系统:CentOS6.4
Java版本:Oracle jdk1.7
Hadoop版本:Hadoop2.5.0
主机hostname:hadoop01.datacenter.com
hadoop目录:/opt/modules/hadoop-2.5.0

NameNode启动过程解析

1、在namenode格式化之后,hdfs会产生fsimage文件用来存储分布式文件系统的元数据。
2、我们对hdfs做的增删改操作记录,都会记录到edits日志文件中,我们来看一下我们现在的hadoop系统的namenode元数据信息。

[hadoop@hadoop01 ~]$ cd /opt/modules/hadoop-2.5.0/
[hadoop@hadoop01 hadoop-2.5.0]$ ll data/tmp/dfs/name/current/ 
total 6168
-rw-rw-r-- 1 hadoop hadoop 1048576 Apr  6 17:29 edits_0000000000000000001-0000000000000000011
-rw-rw-r-- 1 hadoop hadoop 1048576 Apr  7 22:17 edits_0000000000000000012-0000000000000000111
-rw-rw-r-- 1 hadoop hadoop 1048576 Apr  9 21:16 edits_0000000000000000112-0000000000000000112
-rw-rw-r-- 1 hadoop hadoop 1048576 Apr 11 22:27 edits_0000000000000000113-0000000000000000305
-rw-rw-r-- 1 hadoop hadoop 1048576 Apr 14 15:29 edits_0000000000000000306-0000000000000000306
-rw-rw-r-- 1 hadoop hadoop 1048576 Apr 14 15:33 edits_inprogress_0000000000000000307
-rw-rw-r-- 1 hadoop hadoop    2025 Apr 11 21:47 fsimage_0000000000000000112
-rw-rw-r-- 1 hadoop hadoop      62 Apr 11 21:47 fsimage_0000000000000000112.md5
-rw-rw-r-- 1 hadoop hadoop    3632 Apr 14 15:29 fsimage_0000000000000000305
-rw-rw-r-- 1 hadoop hadoop      62 Apr 14 15:29 fsimage_0000000000000000305.md5
-rw-rw-r-- 1 hadoop hadoop       4 Apr 14 15:33 seen_txid
-rw-rw-r-- 1 hadoop hadoop     206 Apr 14 15:29 VERSION
[hadoop@hadoop01 hadoop-2.5.0]$ 

3、namenode的启动过程中,会去加载最新的fsimage文件和edits文件到内存中。
4、由于edits日志文件记录了上一次namenode服务的所有增删改操作,所以该日志文件可能会非常大,严重影响本次namenode的启动效率。
5、那么可不可以在namenode的服务过程中,把当前的fsimage文件和edits文件合并为一个新的fsimage文件,再把新的日志记录写入一个新的edits文件中呢?这样的话,我们下次启动namenode的时候就可以非常迅速的完成启动过程。而我们的SecondaryNameNode就是完成这个功能的。

SecondaryNameNode部署

SecondaryNameNode的部署主要是配置hdfs-site.xml文件的dfs.namenode.secondary.http-address属性。

[hadoop@hadoop01 hadoop-2.5.0]$ vim etc/hadoop/hdfs-site.xml 
...
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop01.datacenter.com:50090</value>
    </property>
...
[hadoop@hadoop01 hadoop-2.5.0]$ 

启动SecondaryNameNode服务:

[hadoop@hadoop01 hadoop-2.5.0]$ sbin/hadoop-daemon.sh start secondarynamenode
starting secondarynamenode, logging to /opt/modules/hadoop-2.5.0/logs/hadoop-hadoop-secondarynamenode-hadoop01.datacenter.com.out
[hadoop@hadoop01 hadoop-2.5.0]$

通过我们刚刚配置的web服务网址http://hadoop01.datacenter.com:50090查看SecondaryNameNode服务情况:
SecondaryNameNode

总结

SecondaryNameNode作为Namenode的辅助程序,在NameNode服务其中,把当前的fsimage镜像文件和edits日志文件合并成新的日志文件,已加快下次namenode的启动效率。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值