Hadoop2.2 federnation联盟的搭建

时间:2023-02-06 15:05:54

联盟实际上是一个单独的集群,集群里面包含很多的NameService
共享同样的DataNode,同一份数据只上传一份,block块相同,一个集群中删除,另一个集群中还是存在的.同一份数据只是在namespace中注册了一下.
联盟是共享同一个datanode,相同的数据还是一份
viewfs跨隶属于同一个hdfs联盟的hdfs
联盟的好处是扩展了Namenode

搭建federation(多了federation配置)

  ns1的namenode:hadoop4
  ns2的namenode:hadoop5
  datanode:hadoop4,hadoop5,hadoop6

1.1配置文件(hadoop-env.sh,core-site.xml)

  1.1.1 hadoop-env.sh

  export JAVA_HOME=/usr/local/jdk

  1.1.2 core-site.xml

	<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
<property>
<name>fs.viewfs.mounttable.default.link./ns1</name>
<value>hdfs://hadoop4:9000/</value>
</property>
<property>
<name>fs.viewfs.mounttable.default.link./ns2</name>
<value>hdfs://hadoop5:9000</value>
</property>

  1.1.3 hdfs-site.xml

	<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>ns1,ns2</value>
</property>
<property>
<name>dfs.ha.namenodes.ns1</name>
<value>hadoop101</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns1.hadoop101</name>
<value>hadoop4:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns1.hadoop101</name>
<value>hadoop5:50070</value>
</property>
<property>
<name>dfs.ha.namenodes.ns2</name>
<value>hadoop102</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns2.hadoop102</name>
<value>hadoop5:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.ns2.hadoop102</name>
<value>hadoop5:50070</value>
</property>

  1.1.6 slaves

	hadoop2
hadoop3
hadoop4

  1.2 删除其他节点的hadoop文件夹,然后把hadoop4上的hadoop文件夹复制到hadoop4、hadoop5、hadoop6节点
  1.3 格式化namenode、启动namenode
    在hadoop4上执行hadoop/bin/hdfs namenode -format -clusterId clusterid1
    在hadoop4上执行hadoop/sbin/hadoop-daemon.sh start namenode

    [[clusterId的值与hadoop4上执行的clusterId的值完全相同。如果不同,就不属于同一个federation]]
    在hadoop5上执行hadoop/bin/hdfs namenode -format -clusterId clusterid1
    在hadoop5上分别执行hadoop/sbin/hadoop-daemon.sh start namenode
  1.4 启动datanode
    在hadoop4上执行hadoop/sbin/hadoop-daemons.sh start datanode
  1.5 启动resourcemanager和nodemanager
    在hadoop4上执行 hadoop/sbin/start-yarn.sh start resourcemanager

1.2.验证:

  viewFS是跨隶属于同一个federation的多个hdfs的文件管理系统。
  使用hadoop4:50070/dfsclusterhealth.jsp查看集群情况
  使用hadoop/bin/hdfs dfs -ls viewfs:///统一查看联邦中的数据内容