设为首页 加入收藏

TOP

centos-7 部署hadoop2.5.1 >>>> 分布式 HDFS(三)
2018-12-06 00:15:35 】 浏览:10
Tags:centos-7 部署 hadoop2.5.1 > 分布式 HDFS
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a295277302/article/details/70544909

从官网下载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中都有备份



编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇HDFS读取文件过程 下一篇JAVA API 上传下载文件到HDFS

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }