从官网下载hadoop2.5.1 64位。
本文以hadoop2.5.1为例。。
分享本人百度云下载连接: http://pan.baidu.com/s/1miSG3by
下载好之后 上传到服务器中 本文上传到 /usr/local
解压 : tar -zxvf hadoop-2.5.1-x64.tar.gz
创建软连接 :ln -sf hadoop-2.5.1 /home/hadoop-2.5/
配置hadoop-2.5.1分布式的官网文档:https://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html
先设置hadoo配置文件的路径: 修改文件vim /home/hadoop-2.5/etc/hadoop/hadoop-env.sh
修改hadoop配置文件
cd /home/hadoop-2.5/etc/hadoop
vim hdfs-site.xml
export JAVA_HOME=/usr/local/jdk1.8.0_11
如果不配置java_home 启动的时候会失败。
CENTOS 配置JDK教程:http://blog.csdn.net/a295277302/article/details/70245779
内容为:
<configuration>
<property>
<name>dfs.nameservices</name>
<value>htf</value>
</property>
<property>
<name>dfs.ha.namenodes.htf</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.htf.nn1</name>
<value>192.168.6.128:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.htf.nn2</name>
<value>192.168.6.129:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.htf.nn1</name>
<value>192.168.6.128:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.htf.nn2</name>
<value>192.168.6.129:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://192.168.6.129:8485;192.168.6.130:8485;192.168.6.132:8485/htf</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.htf</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_dsa</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/jn/data</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
</configuration>
修改 vim core-site.xml
内容为:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://htf</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>192.168.6.128:2181,192.168.6.129:2181,192.168.6.130:2181</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop2</value>
</property>
</configuration>
修改slaves文件
vim slaves
192.168.6.129
192.168.6.130
192.168.6.132
配置完这些之后 格式化namenode -format
进入cd /home/hadoop-2.5/bin
./hdfs namenode -format
之后在配置的数据文件夹下能看到格式化的数据文件
/opt/hadoop2/dfs/name/current
先将一种配置的配置文件发送到其他服务器中。
scp -r /home/hadoop-2.5/etc/hadoop/* 192.168.6.129:/home/hadoop-2.5/etc/hadoop
其他服务器也要复制过去,此处不一一概述
之后要在另外一个namenode中格式化 namenode,即生成/opt/hadoop2/dfs/name/current
下的数据文件
官网说明:
- If you have already formatted the NameNode, or are converting a non-HA-enabled cluster to be HA-enabled, you should now copy over the contents of your NameNode metadata directories to the other, unformatted NameNode by running the command "hdfs namenode -bootstrapStandby" on the unformatted NameNode. Running this command will also ensure that the JournalNodes (as configured by dfs.namenode.shared.edits.dir) contain sufficient edits transactions to be able to start both NameNodes.
./hdfs zkfc -formatZK