Cloudera CHD4B1版本已经包含了NameNode HA,社区也把NameNode HA branch HDFS-1623 merge到trunk版本,可以实现了双NameNode的热备份,不过目前只支持手动切换,还不支持自动切换,社区中自动切换进度请看:https://issues.apache.org/jira/browse/HDFS-3042
NameNode HA(CHD4B1版本) 文档:
https://ccp.cloudera.com/display/CDH4B1/CDH4+Beta+1+High+Availability+Guide
下面以CHD4B1版本来说明一下如何安装配置双NameNode HA:
1.首先安装java、配置ssh,这部分和之前版本相同,这里就省略了。
2.下载和解压CDH4B1
下载:https://ccp.cloudera.com/display/SUPPORT/CDH4+Downloadable+Tarballs
解压:tar –zxvf Hadoop-0.23.0-cdh4b1.tar.gz
3.设置环境变量:
在hadoop-cdh4b1/libexec目录下hadoop-config.sh配置文件中配置JAVA_HOME,红色部分:
# Attempt to set JAVA_HOME if it is not set
export JAVA_HOME=/home/liuminggang.pt/java_current
if [[ -z $JAVA_HOME ]]; then
4.添加hadoop配置文件中的配置项:
(配置文件直接在hadoop-cdh4b1/etc/hadoop目录下配置),我这里总共用了5台机器:
10.250.8.106 NameNode
10.250.8.107 NameNode
10.250.8.108 DataNode
10.250.8.109 DataNode
10.250.8.110 DataNode
4.1配置core-site.xml文件:
<property>
<name>hadoop.tmp.dir</name>
<value>/home/pt/hadoop-cdh4b1/hadoop_tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://goon</value> // goon是NameService ID,这里可以自己设置
</property>