单独配置secondarynamenode


一、配置说明

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

http://blog.csdn.net/u014078192/article/details/27992567

我会在这基础上讲述如何将secondarynamenode抽调出来。

二、配置

1)先增加一台虚拟机,配置免密码,关防火墙,主机名(secondarynamenode

      确保三台机器都能ping通。

2)配置文件:

a) Master上的配置:

i. Core-site.xml

<configuration>

  <property>

        <name>fs.default.name</name>

        <value>hdfs://master:9000</value>

  </property>

  <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/hadoop/hadoop/tmp</value>

  </property>

</configuration>


Ii.  Hdfs-site.xml

<configuration>

  <property>

        <name>dfs.replication</name>

 <!-- 值需要与实际的DataNode节点数要一致本文为1 -->

        <value>1</value>

  </property>

  <property>

        <name>dfs.namenode.name.dir</name>

        <!-- 注意创建相关的目录结构 -->

        <value>file:/home/hadoop/hadoop/dfs/namenode</value>

        <final>true</final>

  </property>

  <property>

        <name>dfs.datanode.data.dir</name>

        <!-- 注意创建相关的目录结构 -->

        <value>file:/home/hadoop/hadoop/dfs/datanode</value>

  </property>

    <property>

        <name>dfs.secondary.http.address</name>

        <value>secondarynamenode:50090</value>

  </property>

</configuration>


Iiimapred-site.xml

<configuration>

  <property>

   <name>mapreduce.framework.name</name>

   <value>yarn</value>

     <final>true</final>

    </property>

  <property>

    <name>mapred.system.dir</name>

    <value>/home/hadoop/hadoop/tmp/mapred/system/</value>

  </property>

</configuration>


B) secondartnamenode的配置

Icore-site.xml

<configuration>

  <property>

        <name>fs.defaultFS</name>

        <value>hdfs://master:9000</value>

  </property>

  <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/hadoop/hadoop/tmp</value>

  </property>

 <property>

        <name>fs.checkpoint.period</name>

        <value>3600</value>

  </property>

  <property>

        <name>fs.checkpoint.size</name>

        <value>67108864</value>

  </property>

</configuration>


Iiihdfs-site.xml

<configuration>

  <property>

        <name>dfs.replication</name>

<!-- 值需要与实际的DataNode节点数要一致本文为1 -->

        <value>1</value>

  </property>

  <property>

        <name>dfs.namenode.name.dir</name>

        <!-- 注意创建相关的目录结构 -->

        <value>file:/home/hadoop/hadoop/dfs/namenode</value>

        <final>true</final>

  </property>

  <property>

        <name>dfs.datanode.data.dir</name>

        <!-- 注意创建相关的目录结构 -->

        <value>file:/home/hadoop/hadoop/dfs/datanode</value>

  </property>

  <property>

        <name>dfs.http.address</name>

        <value>master:50070</value>

  </property>

</configuration>


Iiimapred-site.xml配置可以沿用master中的mapred-site.xml

Cslave1上的配置(datanode

I)core-site.xml:

<configuration>

  <property>

        <name>fs.defaultFS</name>

        <value>hdfs://master:9000</value>

  </property>

  <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/hadoop/hadoop/tmp</value>

  </property>

</configuration>


Ii)hdfs-site.xml:

<configuration>

  <property>

        <name>dfs.replication</name>

 <!-- 值需要与实际的DataNode节点数要一致本文为1 -->

        <value>1</value>

  </property>

  <property>

        <name>dfs.namenode.name.dir</name>

        <!-- 注意创建相关的目录结构 -->

       <value>file:/home/hadoop/hadoop/dfs/namenode</value>

        <final>true</final>

  </property>

  <property>

        <name>dfs.datanode.data.dir</name>

        <!-- 注意创建相关的目录结构 -->

       <value>file:/home/hadoop/hadoop/dfs/datanode</value>

  </property>

</configuration>


Iiimapred-site.xml配置可以沿用master中的mapred-site.xml

3)配置etc/profile,下面的代码,三台虚拟机是通用的。

#set java enviroment

export JAVA_HOME=/usr/local/jdk

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

# Hadoop

export HADOOP_HOME="/home/hadoop/hadoop"

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_COMMON_HOME=${HADOOP_HOME}

export HADOOP_HDFS_HOME=${HADOOP_HOME}

export HADOOP_MAPRED_HOME=${HADOOP_HOME}

export HADOOP_YARN_HOME=${HADOOP_HOME}

三、运行

1)格式化namenode:bin/hadoop  namenode  -format
2)运行:sbin/start-all.sh

master上的结果:


secondarynamenode上的结果:


slave1上的结果:


3)总结:

进程是能够启起来,但是出现一个错误:我在度娘和Google上都搜了,可是没有找到好的解决方法。我会将它发到论坛,尽快的去解决这个问题。





相关内容