【HDFS篇】完全分布式基于HA搭建HDFS集群(ZK+ZKFC+JN)

这里写图片描述
原理解释://TODO:

搭建过程记录:
主要2大步,搭建zookeeper和配置HDFS
1.先搭建zookeeper
配置3台机器,先配置好一台然后分发到不同的机器上。
解压完先配环境变量。
vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.7.0_67
export HADOOP_PREFIX=/opt/jw/hadoop-2.6.5
export ZOOKEEPER_PREFIX=/opt/jw/zookeeper-3.4.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$ZOOKEEPER_PREFIX/bin

重新加载配置文件:. /etc/profile
修改zk的配置文件:cd /conf/
备注:里面的zoo_sample.cfg 此配置名称是不对的,修改其为zoo.cfg 记得备份
修改此处:dataDir=/tmp/zookeeper 此处的临时目录是可能被删除。修改为新建的
dataDir=/var/jw/zk
最后行追加:
server.1=192.168.159.38:2888:3888
server.2=192.168.159.36:2888:3888
server.3=192.168.159.37:2888:3888
然后在var/jw/zk下写入id。
[root@node03 zk]# echo 1 > myid 然后在对应的机器上配置myid为不同的值。

然后把安装包和profile文件都分发到不同的机器上。然后重新加载profile文件。
启动zk使用:zkServer.sh start 提示信息为Starting zookeeper … STARTED
但是查看 zkServer.sh status 发现: It is probably not running.
通过查看端口:netstat -natp | grep 2181
tcp 0 0 :::2181 :::* LISTEN 4866/java
发现是启动的,只是状态不可用而已。因为此集群只有一个角色,其势力范围没有过半,所以不可以用,再开启其他的服务器上的zk。启动完另一个zk[ip=36]后只有成功了,此时会拼一把大的获胜,既此服务就是lader。上一个[ip=38]则是follower。其他启动的就是follower。

2.hadoop配置
cd HADOOPPREFIX H A D O O P P R E F I X 【 通 过 加上环境变量的名字可直接进入到目录下 】
进入hadoop的etc目录下备份文件:[root@node03 etc]# cp -r hadoop hadoop-full
将不带HA的做备份。

<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>node03:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>node02:8020</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>node03:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>node02:50070</value>
</property>
<property>
  <name>dfs.namenode.shared.edits.dir</name>
  <value>qjournal://node03:8485;node01:8485;node02:8485/mycluster</value>
</property>

<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/var/sxt/hadoop/ha/jn</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_dsa</value>
</property>
<property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
 </property>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值