Hadoop2.0 QJM方式的HA的配置

本文在《Hadoop2.0的安装和基本配置》(见  )一文的基础上继续介绍hadoop2.0 QJM(Quorum Journal Manager)方式的HA的配置(hadoop2.0架构,具体版本是hadoop2.2.0)。本文只介绍HA的主备的手工切换,自动切换在下一篇文章继续介绍(见 )。

--------------------------------------分割线 --------------------------------------

相关阅读

Ubuntu 13.04上搭建Hadoop环境

Ubuntu 12.10 +Hadoop 1.2.1版本集群配置

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Ubuntu下Hadoop环境的配置

单机版搭建Hadoop环境图文教程详解

搭建Hadoop环境(在Winodws环境下用虚拟机虚拟两个Ubuntu系统进行搭建)

--------------------------------------分割线 --------------------------------------

1 准备

文中描述的机器角色包含2个namenode:

namenode1

namenode2


其中namenode1为active namenode;namenode2为standby namenode。 

包含3个journalnode:

journalnode1

journalnode2

journalnode3

journalnode的机器的数量是奇数,可以是3,5,7...,2n+1。

其他机器角色本文中不涉及的可以参考《hadoop2.0的安装和基本配置》一文。

2 配置

HA的配置只涉及到core-site.xml和hdfs-site.xml两个配置文件,其他配置可以文件参考《Hadoop2.0的安装和基本配置》一文。

2.1 core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://mycluster</value>

</property>

<property>

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

<value>/home/tmp/hadoop2.0</value>

</property>

</configuration>


2.2 hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

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

<value>/home/dfs/name</value>

</property>

<property>

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

<value>/home/dfs/data</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<property>

<name>dfs.nameservices</name>

<value>mycluster</value>

</property>

<property>

<name>dfs.ha.namenodes.mycluster</name>

<value>nn1,nn2</value>

</property>

<property>

<name>dfs.namenode.rpc-address.mycluster.nn1</name>

<value>namenode1:8020</value>

</property>

<property>

<name>dfs.namenode.rpc-address.mycluster.nn2</name>

<value>namenode2:8020</value>

</property>

<property>

<name>dfs.namenode.http-address.mycluster.nn1</name>

<value>namenode1:50070</value>

</property>

<property>

<name>dfs.namenode.http-address.mycluster.nn2</name>

<value>namenode2:50070</value>

</property>

<property>

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

<value>qjournal://journalnode1:8485;journalnode2:8485;journalnode3:8485/mycluster</value>

</property>

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/home/dfs/journal</value>

</property>

<property>

<name>dfs.client.failover.proxy.provider.mycluster</name>

<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

<property>

<name>dfs.ha.fencing.methods</name>

<value>sshfence</value>

</property>

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/root/.ssh/id_rsa</value>

</property>

<property>

<name>dfs.ha.fencing.ssh.connect-timeout</name>

<value>6000</value>

</property>

<property>

<name>dfs.ha.automatic-failover.enabled</name>

<value>false</value>

</property>

</configuration>

上述有些参数这里需要解释一下。

dfs.ha.automatic-failover.enabled

这里是把主备自动切换关闭,需要手工来切换。在下一篇文章会介绍通过配置zookeeper来实现主备自动切换。

fs.ha.namenodes.mycluster

<value>中的nn1,nn2分别是active namenode和standby namenode的namenode id,你也可以自己起一个namenode id,只要在参数中都保持一致就可以了。

dfs.namenode.shared.edits.dir

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/592c691efde7d949cd026816ba69a286.html