Hadoop中如何将namenode和secondary namenode分开在不同服务器上。

在一套已经搭建好的Hadoop集群中,默认将namenode和secondary namenode都在master上运行,现在介绍一种方法,将他们分开配置。

Cluster环境,具体环境参考另一篇博客《Hadoop 集群cluster搭建》。简单来说4台机器,hadoop1做master,其他三台hadoop2 hadoop3 hadoop4作为slave。现在我要将secondary namenode放到hadoop2中。

另外 hadoop版本为2.7.1。

配置:

1 在配置目录$HADOOP_HOME/etc/hadoop增加文件,名为masters。每台都配置,下同。

[appadmin@hadoop1 hadoop]$ more masters
hadoop2

2 配置hdfs-site.xml

<property>
    <name>dfs.namenode.http-address</name>
    <value>hadoop1:50070</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop2:50090</value>
</property>

重启即可。


从网上的资料来看,还说到了要修改core-site.xml中的fs.checkpoint.period和fs.checkpoint.size属性,但是我的简单测试显示并不需要修改他们。

如有问题以后再补充。


你可能感兴趣的:(Hadoop中如何将namenode和secondary namenode分开在不同服务器上。)