本文固定链接:https://www.askmac.cn/archives/hadoop-federation-test.html
1.实验环境
虚拟机环境 VMBOX 5.0 ubuntu 15
java 1.80 hadoop 2.7.1
之前安装好的单机hadoop 虚拟机 *7
设置好各个主机的ip地址和主机名(/etc/hosts)
各个节点分布如下:
10.0.0.22 dbdao #NameNode
10.0.0.23 dbdao2 #ResourceManager
10.0.0.24 dbdao3 # web app proxy and MR Jobhistory server
10.0.0.25 dbdao4 #DataNode
10.0.0.26 dbdao5 #DataNode
10.0.0.27 dbdao6 #DataNode
10.0.0.28 dbdao08 #NameNode
2.先决条件:
- 安装JAVA
- 从apache镜像上下载稳定的hadoop版本
请参考hadoop集群安装
hadoop 集群是关闭状态
3. Federation配置:
在原本HA集群的基础上,增加一个Namenode节点配置。
3.1修改配置文件
在最开始集群配置文件的基础上(非HA),hdfs-site.xml配置如下:
<configuration> <configuration> <property> <name>dfs.replication</name> <value>3</value> <name>dfs.namenode.name.dir</name> <value>/home/dbdao/namespace</value> </property> <property> <name>dfs.nameservices</name> <value>ns1,ns2</value> </property> <property> <name>dfs.namenode.rpc-address.ns2</name> <value>dbdao08:8020</value> </property> <property> <name>dfs.namenode.http-address.ns2</name> <value>dbdao08:50070</value> </property> <property> <name>dfs.namenode.secondaryhttp-address.ns2</name> <value>dbdao08:8888</value> </property> <property> <name>dfs.namenode.secondaryhttp-address.ns1</name> <value>dbdao:8888</value> </property> <property> <name>dfs.namenode.rpc-address.ns1</name> <value>dbdao:8020</value> </property> <property> <name>dfs.namenode.http-address.ns1</name> <value>dbdao:50070</value> </property> </configuration> </configuration>
3.2格式化
和集群安装的时候对NameNode进行格式化没什么区别
$HADOOP_PREFIX/bin/hdfs namenode -format -ns1 $HADOOP_PREFIX/bin/hdfs namenode -format -ns2
4. 观察
使用集群启动命令启动hdfs:
$HADOOP_PREFIX/sbin/start-dfs.sh
可以发现2个NameNode均被启动。
关闭hdfs:
$HADOOP_PREFIX/sbin/stop-dfs.sh
观察发现启动DataNode被分配到了2个NameNode上:
也就是多个NameNode组成的多个集群,由一套配置文件进行管理。NameNode配置和之前没什么区别,可以有自己的检查点节点,备份节点,HA等。
Comment