【第2期】如何将NameNode和SecondaryNameNode分开不同节点

一、当前情况

    根据【第1期】教程的部署,我们已经可以使用Docker启动1台Master主机和3台Slave主机。但很快就可以发现,启动hadoop后,NameNode进行和SecondaryNameNode进程都存在于Master主机上,并无法实现备机功能。也就是说,如果Master主机宕掉了,实际上整个集群就完了。因此,将NameNode和SecondaryNameNode进程分开到不同的节点主机上是有必要的。

    Hadoop-Master主机下查看进程

    Hadoop-Slave1主机下查看进程

    以下我们配置将SecondaryNameNode进程运行到Slave1主机上


 

二、配置Hadoop(使用hadoop用户)

1.1 关闭hadoop

su hadoop
sh /opt/hadoop/sbin/stop-all.sh

1.2 修改hdfs-site.xml

    在配置文件hdfs-site.xml新增属性配置

vi /opt/hadoop/etc/hadoop/hdfs-site.xml
------- 文件内容 -------
<property>
<name>dfs.http.address</name>
<value>hadoop-master.richardchan.nom: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>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop-slave1.richardchan.nom:50090</value>
</property>

1.3 修改core-site.xml

   在配置文件core-site.xml新增属性配置

vi /opt/hadoop/etc/hadoop/core-site.xml
------ 文件内容 ------
<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>
</property>

三、使用测试

3.1 启动hadoop

sh /opt/hadoop/sbin/start-all.sh

3.2 查看进程

  Master主机

  Slave1主机

 

posted @ 2016-04-20 14:08  Richard在菩提树下  阅读(537)  评论(1编辑  收藏  举报