Zookeeper之HDFS-HA高可用及Zookeeper的配置和安装

Zookeeper概述

什么是Zookeeper

Zookeeper是一个底层的分布式协调服务工具

它是hadoop生态体系中很多分布式系统(HDFSYARN(HA)、HBASE(ZK)、KAFKA.........)的基础组件

基本的功能

  1. 为客户提供写数据功能   存储关键状态数据   数据量小
  2. 为客户提供读数据功能
  3. 为用户提供数据变化时的监控功能 1) 节点的子节点个数  2) 节点的数据变化

Zookeeper的功能其实很简单:就是提供协调服务!

协调服务具体来说有三方面:  

  1. 帮使用者存储一些状态信息
  2. 帮使用者读取一些信息
  3. 帮使用者监视一些信息的变化,并将变化作为事件通知给使用者

Zookeeper的高可靠性

是一个分布式的系统,多个节点  并且节点中记录的数据是完全一致(一致性) , 当某个zk的节点宕机之后不会影响工作 .

Zookeeper的节点不存在单点故障!Zookeeper的主节点是可以动态选举出来的!

Zookeeper的数据存储模型

znode类似于Linux的目录结构(TREE) , 维护了节点的层级关系 ,

真正的数据存储是以key:value的形式存储的 , 存储的是字节数据

 

zookeeper中对数据的存储采用key-value的形式

Zookeeper的特点

1)Zookeeper是分布式的,具有高可用 高容错性

2)Zookeeper可以写数据   状态数据  数据大小很小很小

3)Zookeeper可以读数据

4)Zookeeper可以进行状态监听和事件通知

基于Zookeeper的下的hadoop HDFS-HA 高可用模式

之前我们讲过HDFS 集群中单节点故障的问题,一个主节点一旦发生宕机,整个HDFS 集群将不可使用,这是很严重的事故。影响HDFS集群不可使用主要包括以下两种情况:

1)NameNode机器宕机,整个集群将不可使用,重启后才可使用

2)NameNode机器软件或者硬件升级,导致集群短时间内不可使用

Hadoop给出了HDFS的高可用HA方案

HDFS通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,比如处理来自客户端的RPC请求,而Standby NameNode则不对外提供服务,仅同步Active NameNode的状态,以便能够在它失败时快速进行切换。

 

 

当集群中的namenode机器发生宕机,Zookeeper会感知到,并立马剔除掉namenode节点的内容,触发通知事件,通知备用namenode,备用的namenode在确认了之前的namenode进程不存在了之后,将进行启用,确保整个集群的服务不会中断。

Zookeeper的配置和安装

上传Zookeeper包并解压

在ZK的家目录下新建一个zkData的文件夹

向zkData中输出文件

echo 1 >> myid   需要在zkData目录下

进入到家目录下的conf下,重命名zoo_sample.cfg 为zoo.cfg 并修改配置里面的参数

1)修改dataDir的路径为zkData的位置

2)最下方粘贴

server.1=linux01:2888:3888

server.2=linux02:2888:3888

server.3=linux03:2888:3888

回到apps下,将zk的目录分发给另外两台机器

修改linux02 myid里为2、修改linux03 myid里为3

先试着在linux01上启动一下Zookeeper

bin目录下  sh zkServer.sh  start

zookeeper并没有一键启停的脚本

我们自己写一个脚本

vi zk.sh

执行脚本

使用sh zkServer.sh status 可以查看当前机器上zookeeper扮演的角色 是 leader 还是follower

登录zookeeper客户端

sh zkCli.sh   连接本地zookeeper      sh zkCli.sh  ip地址或者主机名  连接相应主机的zookeeper客户端

登录之后可以使用命令

更多学习、面试资料尽在微信公众号:Hadoop大数据开发

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值