ZooKeeper入门笔记---架构以及应用介绍

ZooKeeper架构图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PJhD3J8p-1596255012963)(https://img-blog.csdn.net/20161026205109328)]


1、ZooKeeper的基本概念

Zookeeper是hadoop的分布式协调服务,分布式应用程序可以基于它实现同步服务(数据的事务性一致),配置服务和命名服务.
Zookeeper是一个有多个Server组成的集群.
1>一个leader,多个follower
2>每个server保存一份数据副本
3>全局数据一致
4>分布式读写
5>更新请求转发,有leader实施

2、ZooKeeper集群搭建的过程

ZK集群搭建的前提:ZK服务器集群规模不小于3个节点,要求各服务器之间系统时间保持一致(若是单个节点,则是伪分布).
①解压缩Zookeeper,并设置环境变量.

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=.:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH

②修改Zookeeper的配置文件zoo.cfg,在配置文件中指定zk存放数据的目录以及节点对应的服务器编号(ID).
格式:
dataDir=/usr/local/zk/data/
server.N=YYY:2888:3888
具体含义:
YYY这个节点对应的服务器编号为N
其中N为节点对应的服务器编号、YYY为节点、2888这个端口负责在zk集群中进行数据的传输、3888这个端口负责在zk集群中进行选举
(2181是客户端程序使用的端口)
如:
server.1=hadoop11:2888:3888
server.2=hadoop22:2888:3888
server.3=hadoop33:2888:3888
③创建zk存放数据的目录. mkdir /usr/local/zk/data
④在data目录下,创建文件myid,并在myid文件中绑定节点对应的服务器编号,即N。
这里写图片描述
⑤启动,在三个节点上分别执行命令zkServer.sh start
⑥检验,在三个节点上分别执行命令zkServer.sh status.检验选举机制,同时查看对应的Java进程QuorumPeerMain.
集群搭建原则:在zk集群搭建的过程中,以zk的伪分布安装为主线,由内向外逐渐扩展zk集群.

3、为什么使用Zookeeper

1>大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等)
2>目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制
3>协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器
4>ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用

4、Zookeeper的作用

1>zk可以用来保证数据在zk集群之间的数据的事务性一致
2>Hadoop2.0中,使用Zookeeper的事件处理确保整个集群只有一个活跃的NameNode,存储配置信息等
3>HBase,使用Zookeeper的事件处理确保整个集群只有一个HMaster,察觉HRegionServer联机和宕机,存储访问控制列表等.

5、如何理解Zookeeper中的事务性一致

如果当某一个客户端Client在zk上面做了一个数据的变更、或者是增加了一个数据、删除了一个数据等等.那么这个Server会把这个变化同步到其它服务器上面,同步之后所有的客户端Client都可以获得这个最新的变化.

6、如何理解Zookeeper的数据模型

zk中有一个类似Linux文件系统的目录结构,但是目录结构在Zookeeper中叫做节点,这些节点的特点:可以赋值、可以取值、可以添加、可以删除.Zk可以用来保持数据在集群之间的数据的一致性.

这里写图片描述
代码查看:
这里写图片描述

7、简述zk中常用的命令

ls / :查看zk的目录结构
create :创建一个节点并给它赋值
get :获取某一个节点的数值
set :设置某一个节点的数值
zkServer.sh start:开启zk集群的服务模式
zkCli.sh:进入客户端模式

8、简述Zk节点的分类

当我们创建的这个节点依赖于当前链接的时候,即若链接中断,节点不存在,称为短暂类型
若节点不因为链接中断而丢失称为持久类型。
文件链接:http://pan.baidu.com/s/1mhELtFy

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只懒得睁眼的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值