单独配置secondarynamenode
单独配置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>
Iii、mapred-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的配置
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>
<property>
<name>fs.checkpoint.period</name>
<value>3600</value>
</property>
<property>
<name>fs.checkpoint.size</name>
<value>67108864</value>
</property>
</configuration>
Iii、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.http.address</name>
<value>master:50070</value>
</property>
</configuration>
Iii、mapred-site.xml配置可以沿用master中的mapred-site.xml
C)slave1上的配置(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>
Iii、mapred-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上都搜了,可是没有找到好的解决方法。我会将它发到论坛,尽快的去解决这个问题。
评论暂时关闭