HDFS2.0 federation配置全过程
转载请注明出处,谢谢!
我是在已经搭建好的Hadoop 2.0和HA的基础上,增加federation的功能。所以相关的步骤只涉及到federation的部分。要看HA的配置步骤,请查看前一篇文章。
网上提供的好几个所谓的federation配置攻略,在实际操作中发现,都有多多少少的错误,有些错误在federation的配置时系统提示还相当的明确,所以都不可取啊。还是要自己一步一步跟着官方文档,脚踏实地地来。
主要的过程很简单,分三步:
1. 修改配置文件
2. 启动集群
3. 验证
1. 修改配置文件
*说明: 我在相应的每个配置项上面都有简单的注释,对作用做了简单的说明。
(1) core-site.xml
首先要注释掉之前在HA配置时使用的fs.defaultFS项,因为此时的ns不只一个,所以要重新配置。
<!-- <property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property> -->
在core-site.xml中,主要是配置指定两个ns在HDFS中的存放目录,和查看视图。这里,我们把第一个ns挂载在了nameservice01目录下,第二个ns挂载在了nameservice02目录下。
(2) hdfs-site.xml
首先要把关于HA的所有配置全部都删除掉,然后重新做如下配置。其实原理很简单,原来的HA相关的配置相当于是一个ns,所以当有2个ns时,把所有的配置项全部做两遍配置就好,当然细节方面还是要注意一下的。
同样,每个配置项前面会有相应的注释简单说明。
转载请注明出处,谢谢!
我是在已经搭建好的Hadoop 2.0和HA的基础上,增加federation的功能。所以相关的步骤只涉及到federation的部分。要看HA的配置步骤,请查看前一篇文章。
网上提供的好几个所谓的federation配置攻略,在实际操作中发现,都有多多少少的错误,有些错误在federation的配置时系统提示还相当的明确,所以都不可取啊。还是要自己一步一步跟着官方文档,脚踏实地地来。
主要的过程很简单,分三步:
1. 修改配置文件
2. 启动集群
3. 验证
1. 修改配置文件
*说明: 我在相应的每个配置项上面都有简单的注释,对作用做了简单的说明。
(1) core-site.xml
首先要注释掉之前在HA配置时使用的fs.defaultFS项,因为此时的ns不只一个,所以要重新配置。
<!-- <property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property> -->
在core-site.xml中,主要是配置指定两个ns在HDFS中的存放目录,和查看视图。这里,我们把第一个ns挂载在了nameservice01目录下,第二个ns挂载在了nameservice02目录下。
注意,按照个人需要选择要不要配置defaultFS,这是指定默认的ns。如果配置了,那么如果没有指定的话,默认的存放位置就是你配置的那个ns。
<!-- federation config start -->
<!-- use viewfs, to show a whole view of all namespaces -->
<property>
<name>fs.defaultFS</name>
<value>viewfs:///</value>
</property>
<!-- mount the content of cluster 'namenode01' on /nameservice01 -->
<property>
<name>fs.viewfs.mounttable.default.link./nameservice01</name>
<value>hdfs://nameservice01/</value>
</property>
<!-- same as the last one -->
<property>
<name>fs.viewfs.mounttable.default.link./nameservice02</name>
<value>hdfs://nameservice02/</value>
</property>
<!-- federation config end -->
(2) hdfs-site.xml
首先要把关于HA的所有配置全部都删除掉,然后重新做如下配置。其实原理很简单,原来的HA相关的配置相当于是一个ns,所以当有2个ns时,把所有的配置项全部做两遍配置就好,当然细节方面还是要注意一下的。
同样,每个配置项前面会有相应的注释简单说明。
特别说明下dfs.namenode.shared.edits.dir配置项。
之前在网上看到许多配置文档,都介绍说只需要配置成如下这样: