Hadoop——HDFS HA部署

本节目标:

掌握HDFS HA的部署

本节参考官方文档进行部署。

所需软件:JDK1.8、Hadoop2.7.6、zookeeper3.4.11

节点部署情况:

 

 

NN

DN

JN

ZK

ZKFC

master

l   

 

 

l   

l   

slave1

l   

l   

l   

l   

l   

slave2

 

l   

l   

l   

 

slave3

 

l   

l   

 

 

基于完全分布式搭建,完成HDFS HA部署。

1、安装zookeeper  /usr/local/src/zookeeper
环境变量:
vi ~/.bashrc
export ZOOKEEPER_HOME=/usr/local/src/zookeeper-3.4.11
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source ~/.bashrc
进入安装目录下的conf目录下,

mv zoo_sample.cfg zoo.cfg 

添加一下配置信息:

dataDir=/usr/local/src/zookeeper-3.4.11/data
server.1=192.168.188.10:2888:3888
server.2=192.168.188.11:2888:3888
server.3=192.168.188.12:2888:3888
/usr/local/src/zookeeper/data下创建myid  ---》内容为每个机器对应的服务号1、2、3
同步zookeeper到slave1,slave2,修改环境变量,修改对应的myid

2、删除各节点上的masters。masters文件指定SNN,而HDFS HA不需要SNN。

3、删除各节点上的hdfs内容保存目录

4、hdfs-site.xml修改


  dfs.nameservices  --->命名服务
  HDFSHA


  dfs.ha.namenodes.HDFSHA    --->命名服务下指定两台nn
  nn1,nn2


  dfs.namenode.rpc-address.HDFSHA.nn1   --》指定rpc
  master:8020


  dfs.namenode.rpc-address.HDFSHA.nn2
  slave1:8020


  dfs.namenode.http-address.HDFSHA.nn1   --》指定http
  master:50070


  dfs.namenode.http-address.HDFSHA.nn2
  slave1:50070

    -->指定JN
  dfs.namenode.shared.edits.dir
  qjournal://slave1:8485;slave2:8485;slave3:8485/HDFSHA

  --》自动故障迁移
  dfs.client.failover.proxy.provider.HDFSHA
  org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

    ---》指定公钥文件
  dfs.ha.fencing.methods
  sshfence


  dfs.ha.fencing.ssh.private-key-files
  /root/.ssh/id_rsa

   --》指定JN中edit存放目录
  dfs.journalnode.edits.dir
  /usr/local/src/journal/data

   -->是否启用自动故障迁移
   dfs.ha.automatic-failover.enabled
   true

 

5、core-site.sh

  fs.defaultFS
  hdfs://HDFSHA

   --》指定zk集群
   ha.zookeeper.quorum
   master:2181,slave1:2181,slave2:2181
 

 

     
        hadoop.tmp.dir     
        /usr/localc/hadoop-2.7.6/tmp
    
 

6、同步配置文件

scp ./*.xml slave1:/usr/local/src/hadoop-2.7.6/etc/hadoop

scp ./*.xml slave2:/usr/local/src/hadoop-2.7.6/etc/hadoop

scp ./*.xml slave3:/usr/local/src/hadoop-2.7.6/etc/hadoop

7、启动JN
slave1,slave2,slave3上执行 --> hadoop-daemon.sh start journalnode

6、在master上进行格式化,并启动NN

 hadoop namenode -format   

hadoop-daemon.sh start namenode
8、在另一个NN上执行: hdfs namenode –bootstrapStandby,同步元数据信息。

9、启动zk

zkServer.sh start

检查状态:zkServer.sh status

10、在其中一个NN上格式化zk:  hdfs zkfc -formatZK

11、启动hdfs

start-dfs.sh

12、HA检查

Hadoop——HDFS HA部署_第1张图片

Hadoop——HDFS HA部署_第2张图片

关闭其中一个活跃的NN,hadoop-daemon.sh stop namenode;看Standby状态的NN是否自动切换为Active。

注意:先启动zookeeper,然后启动hdfs。

 

 

 

你可能感兴趣的:(Hadoop)