单独部署secondarynamenode

转载 2013年12月01日 23:11:20

转自:http://blog.chinaunix.net/uid-23916356-id-3276872.html

原文:

hadoop+hbase+zookeeper集群环境已初步搭建完毕了。但是真正用于生产环境的集群系统必须规范,所以secondarynamenode不可能和namenode部署在同一节点上,于是乎我将secondarynamenode部署在一台datanode上,当然我这条件不允许,最佳的环境就是secondarynamenode单独部署在一台机器上,这样更好!当日secondarynamenode节点可以部署多个。只需要再masters文件里面多写几个节点即可!一行一个!
引用别人的一段话:
SecondaryNameNode有两个作用,一是镜像备份,二是日志与镜像的定期合并。两个过程同时进行,称为checkpoint 
总共分五步: 
1.SecondaryNameNode通知NameNode准备提交edits文件,此时主节点产生edits.new 
2.SecondaryNameNode通过http get方式获取NameNode的fsimage与edits文件(在SecondaryNameNode的current同级目录下可见到temp.check-point或者previous-checkpoint目录,这些目录中存储着从namenode拷贝来的镜像文件) 
3.SecondaryNameNode开始合并获取的上述两个文件,产生一个新的fsimage文件fsimage.ckpt 
4.SecondaryNameNode用http post方式发送fsimage.ckpt至NameNode 
5.NameNode将fsimage.ckpt与edits.new文件分别重命名为fsimage与edits,然后更新fstime,整个checkpoint过程到此结束。 
环境介绍:
系统版本均属于redhat 4.8
192.168.15.95   master
192.168.15.72   slave1
192.168.15.71   slave2
192.168.15.132  slave3
下面我将secondarynamenode部署在slave3节点上。
首先你的hadoop的masters文件里面写的是部署secondarynamenode节点的主机名。改完后记得同步到所有节点上。(这个我前面的文章有介绍)
其次就是直接在你的secondarynamenode节点上做修改就可以了
1、修改core-site.xml文件,增加如下内容:
    <property>
          <name>fs.checkpoint.period</name>               默认检查时间是1小时,这里以秒结尾。
          <value>3600</value>
    </property>
    <property>
          <name>fs.checkpoint.size</name>                 默认检查块大小是64M。
          <value>67108864</value>
    </property>
    <property>
          <name>fs.checkpoint.dir</name>
          <value>/data/work/hdfs/namesecondary</value>           
    </property>
最后的fs.checkpoint.dir这个值是根据你的dfs.name.dir值去参考,我的这个就是如下图所示:
  <name>dfs.name.dir</name>
  <value>/data/work/hdfs/name</value>
2、修改hdfs-site.xml文件,修改如下内容:
<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>
请将0.0.0.0修改为你要部署secondarynamenode节点的主机名,我这里就是写master
3、重启hadoop(步骤省略)
4、测试secondarynamenode部署是否正确?
可以检查secondarynamenode的日志,或者直接查看/data/work/hdfs/namesecondary目录下是否有一些文件呢?如果我没记错的话,这里一般会是1小时之后才会出现完整的日志和映像。如下图所示:
[hadoop@slave3 namesecondary]$ ll
总用量 12
drwxrwxr-x  2 hadoop hadoop 4096  7月 17 13:51 current
drwxrwxr-x  2 hadoop hadoop 4096  7月 11 19:36 image
-rw-rw-r--  1 hadoop hadoop    0  7月 16 17:28 in_use.lock
drwxrwxr-x  2 hadoop hadoop 4096  7月 17 13:46 previous.checkpoint
当然最主要的是有了这些文件你就可以去恢复namenode节点了!当然数据肯定会有丢失,因为默认是1小时同步一次!不建议新手将检查时间设置的很小,因为这样会增大namenode的负载,平常我们不会拿secondarynamenode的日志去恢复,除非万不得已的情况,因为我们有更好,更实时的备份方法。这里以后再介绍!

相关文章推荐

单独配置secondarynamenode

这是在我之前yarn框架上通过添加节点,修改相关的配置文件,使得secondarynamenode独立出来的,所以这里前期的一系列琐碎配置请参考我之前的博客: http://blog.csdn.net...

关于MyEclipse上面工程如何单独部署起来放到服务器上运行

tomcat缓存是一个很头疼的事情,有时候在服务器上面经常出现,从开发角度说,要单独把一个项目部署到服务器上,是需要有点综合能力的,即要懂得开发,又得懂交付(实施),有一段时间曾经在缓存上花了半天时间...

项目在eclipse运行正常,但单独部署到tomcat上不正常

林正英捉鬼

Activiti-5.18.0与springMvc项目集成和activiti-explorer单独部署Web项目并与业务数据库关联方法(AutoEE_V2实现方式)

Activiti-5.18.0与springMvc项目集成和activiti-explorer单独部署Web项目并与业务数据库关联方法,实现简单快速涉及部署工作流,工作流设计工程和业务工程分离,分别部...

润乾报表单独部署url安全之加解密函数

润乾报表 URL安全 自定义函数实现加密解密

报表单独部署时跨应用访问报表安全控制

润乾报表与用户的系统集成,一般有两种方案。一是集成到用户系统中。二是将润乾单独部署到一个应用下。 两种方案各有利弊:第一种方案对于安全性等方面可以统一管理,但是报表本身如果数据量大并发大造成的压力会直...
  • rqgxy
  • rqgxy
  • 2016-11-28 17:36
  • 63

润乾报表单独部署(连接数据库)

润乾报表单独的部署到服务器上,通常是会连接demo数据源,进行测试,但是如果想要连接自己本地的数据库测试,还是需要修改一下。 单独的部署报表应用的步骤这里不再重复,可以查看前面的单独部署应用文章。这...

使用component将Restlet服务当做单独的Java程序进行部署

使用component将Restlet服务当做单独的Java程序进行部署   项目结构如下: 1、创建两个继承 ServerResource的类(FirstServerReso...

tomcat+nginx单独域名部署和域名+项目名部署

一直以来都是域名+项目名进行项目访问,突然之间要用单独域名访问tomcat项目不知道如何配置了。 走了一些弯路,特此记录一下。一、独立域名绑定java项目例如:project.domain.comn...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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