3.16 使用Zookeeper对HDFS HA配置自动故障转移及测试
一、说明
从上一节可看出,虽然搭建好了HA架构,但是只能手动进行active与standby的切换;
接下来看一下用zookeeper进行自动故障转移:
#
在启动HA之后,两个NameNode都是standby状态,可以利用zookeeper的选举功能,选出一个当Active #
监控
ZKFC
FailoverController

二、配置
1、hdfs-site.xml
#”开启自动转移功能“,加入以下内容;
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
2、core-site.xml
#”设置故障转移的zookeeper集群“,加入以下内容;
<property>
<name>ha.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
3、关闭集群所有服务
#master
[root@master hadoop-2.5.0]# sbin/stop-dfs.sh [root@master ~]# xcall jps
====== master jps ======
18719 Jps
====== slave1 jps ======
19150 Jps
====== slave2 jps ======
13595 Jps #如果还有其他服务(zookeeper等)也要关闭;
4、同步配置文件
[root@master hadoop]# pwd
/opt/app/hadoop-2.5.0/etc/hadoop [root@master hadoop]# scp -r hdfs-site.xml core-site.xml root@slave1:/opt/app/hadoop-2.5.0/etc/hadoop/ [root@master hadoop]# scp -r hdfs-site.xml core-site.xml root@slave2:/opt/app/hadoop-2.5.0/etc/hadoop/
5、启动zookeeper
#所有节点启动zookeeper
[root@master ~]# /opt/app/zookeeper-3.4.5/bin/zkServer.sh start [root@slave1 ~]# /opt/app/zookeeper-3.4.5/bin/zkServer.sh start [root@slave2 ~]# /opt/app/zookeeper-3.4.5/bin/zkServer.sh start #查看
[root@master ~]# xcall jps
====== master jps ======
18824 Jps
18765 QuorumPeerMain
====== slave1 jps ======
19201 QuorumPeerMain
19263 Jps
====== slave2 jps ======
13646 QuorumPeerMain
13702 Jps
6、初始化HA在Zookeeper中状态
#master
[root@master hadoop-2.5.0]# bin/hdfs zkfc -formatZK #
此时可以在slave1上用客户端连入zookeeper查看:
[root@slave1 zookeeper-3.4.5]# bin/zkCli.sh [zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper] [zk: localhost:2181(CONNECTED) 2] ls / #生成了hadoop-ha
[hadoop-ha, zookeeper]
7、启动HDFS服务
#master
[root@master hadoop-2.5.0]# sbin/start-dfs.sh #查看启动情况
[root@master ~]# xcall jps
====== master jps ======
19588 DFSZKFailoverController #ZKFC监控进程
19087 NameNode
19193 DataNode
19393 JournalNode
18765 QuorumPeerMain
19662 Jps
====== slave1 jps ======
19743 DFSZKFailoverController #ZKFC监控进程
19201 QuorumPeerMain
19800 Jps
19613 JournalNode
19521 DataNode
19443 NameNode
====== slave2 jps ======
13646 QuorumPeerMain
13850 DataNode
14014 Jps
13942 JournalNode #查看nn1 nn2的状态
[root@master hadoop-2.5.0]# bin/hdfs haadmin -getServiceState nn1
19/04/18 10:34:50 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
active [root@master hadoop-2.5.0]# bin/hdfs haadmin -getServiceState nn2
19/04/18 10:34:54 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
standby #可见已经自动把nn1选举为active了,nn2为standby;在web中也可以看到;
8、测试故障自动转移
可以kill掉active状态的namenode,查看standby状态的namenode是否已经自动变为active了;
3.16 使用Zookeeper对HDFS HA配置自动故障转移及测试的更多相关文章
- 第6章 HDFS HA配置
目录 6.1 hdfs-site.xml文件配置 6.2 core-site.xml文件配置 6.3 启动与测试 6.4 结合ZooKeeper进行自动故障转移 在Hadoop 2.0.0之前,一个H ...
- 【解决】HDFS HA无法自动切换问题
[解决]HDFS HA无法自动切换问题 原因: 最早设置为root互相登录,可是zkfc服务是hdfs账号运行的,没有权限访问到root的id_rsa文件.更改为hdfs账号免密钥登录恢复正常. ...
- keepalive配置mysql自动故障转移
keepalive配置mysql自动故障转移 原创 2016年02月29日 02:16:52 2640 本文先配置了一个双master环境,互为主从,然后通过Keepalive配置了一个虚拟IP,客户 ...
- Apache版本的Hadoop HA集群启动详细步骤【包括Zookeeper、HDFS HA、YARN HA、HBase HA】(图文详解)
不多说,直接上干货! 1.先每台机器的zookeeper启动(bigdata-pro01.kfk.com.bigdata-pro02.kfk.com.bigdata-pro03.kfk.com) 2. ...
- 【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】
问题描述: 上一篇就是NameNode 的HA 部署完成,但是存在问题,问题是如果 主NameNode的节点宕机了,还是需要人工去使用命令来切换NameNode的Acitve 这样很不方便,所以 ...
- zookeeper:springboot+dubbo配置zk集群并测试
1.springboot配置zk集群 1.1:非主从配置方法 dubbo: registry: protocol: zookeeper address: ,, check: false 1.2:主从配 ...
- MongoDB副本集配置系列十一:MongoDB 数据同步原理和自动故障转移的原理
1:数据同步的原理: 当Primary节点完成数据操作后,Secondary会做出一系列的动作保证数据的同步: 1:检查自己local库的oplog.rs集合找出最近的时间戳. 2:检查Primary ...
- 大数据(3) - 高可用 HDFS HA
HDFS HA高可用 1 HA概述 1)所谓HA(high available),即高可用(7*24小时不中断服务). 2)实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件的HA机制 ...
- 【Zookeeper】利用zookeeper搭建Hdoop HA高可用
HA概述 所谓HA(high available),即高可用(7*24小时不中断服务). 实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA. ...
随机推荐
- docker安全最佳实践概述
/************************************************* * Author : Samson * Date : 08/07/2015 * Test plat ...
- 【转载】FAT32文件系统详解
硬盘是用来存储数据的,为了使用和管理方便,这些数据以文件的形式存储在硬盘上.任何操作系统都有自己的文件管理系统,不同的文件系统又有各自不同的逻辑组织方式.例如:常见的文件系统有FAT,NTFS,EXT ...
- bvlc_reference_caffenet.caffemodel
#uncoding:utf-8 # set up Python environment: numpy for numerical routines, and matplotlib for plotti ...
- [框架安装趟雷指南]Ubuntu+1060+cuda+cudnn+Keras+TH+TF+MXnet
[框架安装趟雷指南]Ubuntu+1060+cuda+cudnn+Keras+TH+TF+MXnet https://zhuanlan.zhihu.com/p/23480983 天清 9 个月前 写这 ...
- caffe搭建以及初步学习--win7-vs2013-gtx650tiboost-cuda8.0-cifar10训练和测试-2-快速解决方案cifar10_quick_solver.prototxt
首先安装好显卡----已经装好了?喜大普奔!没装好?那就用cpu,也是一样的. 拷贝cudnn v5.0 头文件和库文件以及执行文件到cuda8中 -------------------------- ...
- forEach for for in for of性能问题
var arr = new Array(1000); console.time('forEach'); arr.forEach(data => { }); console.timeEnd('fo ...
- SICP 习题 (1.38)解题总结
SICP 习题1.38 紧跟着习题1.37的方向,要求我们用习题1.37中定义的cont-frac过程计算数学家欧拉大师在论文De Fractionibus Continuis 中提到的e-2的连分式 ...
- ArrayList概述
一. ArrayList概述: ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境 ...
- php 实现简单加入购物车
今天在练习购物车以及提交订单,写的有点头晕,顺便也整理一下,这个购物车相对来说比较简单,用于短暂存储,并没有存储到数据库, 购物车对于爱网购的人来说简直是熟悉的不能再熟悉了,在写购物车之前,我们首先要 ...
- RS-485接口的防护电路设计
RS-485总线标准是安防系统设备上应用最为广泛的物理层协议之一.RS-485的主要特点:支持远距离传输,长达4000英尺:双向信号差分传输,提高信号的噪音抑制能力,并且允许一条总线上可以挂接多个发射 ...