【原创】单独部署secondarynamenode
总共分五步:
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过程到此结束。
环境介绍:
192.168.15.72 slave1
192.168.15.71 slave2
192.168.15.132 slave3
下面我将secondarynamenode部署在slave3节点上。
fs.checkpoint.period 默认检查时间是1小时,这里以秒结尾。
3600
fs.checkpoint.size 默认检查块大小是64M。
67108864
fs.checkpoint.dir
/data/work/hdfs/namesecondary
最后的fs.checkpoint.dir这个值是根据你的dfs.name.dir值去参考,我的这个就是如下图所示:
/data/work/hdfs/name
2、修改hdfs-site.xml文件,修改如下内容:
dfs.http.address
0.0.0.0:50070
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.
总用量 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