从官网下载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 bydfs.namenode.shared.edits.dir) contain sufficient edits
transactions to be able to start both NameNodes.
之后在129服务器中运行
cd /home/hadoop-2.5/bin
./hdfs namenode -bootstrapStandby
也会在/opt/hadoop2/dfs/name/current下生成数据文件
在128服务器上格式化 zkfc
cd /home/hadoop-2.5/bin
./hdfs zkfc -formatZK
关闭所有服务器的防火墙 ,不然启动会失败。
systemctl stop firewalld.service
运行sbin/下的./start-dfs.sh
运行成功后输入jps能够看到:
在129中也可以看到
在130中可以看到
在132中可以看到
输入网址http://192.168.6.128:50070
输入网址:http://192.168.6.129:50070
可以看到:
上传文件 : 进入bin目录
1.先创建目录
./hdfs dfs -mkdir -p /usr/file
2.上传文件 :
./hdfs dfs -put /usr/local/jdk1.8.0_11/ /usr/file
之后在输入网址:http://192.168.6.128:50070/explorer.html#/usr/file
能够看到上传的文件。
之后打开看上传的文件,会看到在129,130中都有备份