前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据篇---ZooKeeper+ HBase学习1. Zookeeper简介2. Zookeeper环境搭建

大数据篇---ZooKeeper+ HBase学习1. Zookeeper简介2. Zookeeper环境搭建

作者头像
用户2337871
发布2020-11-25 14:57:37
4150
发布2020-11-25 14:57:37
举报
文章被收录于专栏:git

1. Zookeeper简介

1.1 Zookeeper是什么?

代码语言:javascript
复制
Zookeeper 是一个分布式协调服务的开源框架。 主要用来解决分布式集群中应用系统的一致性问题,
例如怎样避免同时操作同一数据造成脏读的问题。分布式系统中数据存在一致性的问题!!
* ZooKeeper 本质上是一个分布式的小文件存储系统。 提供基于类似于文件系统的目录树方式的数
据存储,并且可以对树中的节点进行有效管理。
* ZooKeeper 提供给客户端监控存储在zk内部数据的功能,从而可以达到基于数据的集群管理。 诸
如: 统一命名服务(dubbo)、分布式配置管理(solr的配置集中管理)、分布式消息队列
(sub/pub)、分布式锁、分布式协调等功能。

1.2 zookeeper的架构组成

Leader

  • Zookeeper 集群工作的核心角色
  • 集群内部各个服务器的调度者。
  • 事务请求(写操作) 的唯一调度和处理者,保证集群事务处理的顺序性;对于 create, setData, delete 等有写操作的请求,则需要统一转发给leader 处理, leader 需要决定编号、执 行操作,这个过程称为一个事务。

Follower

  • 处理客户端非事务(读操作) 请求,
  • 转发事务请求给 Leader;
  • 参与集群 Leader 选举投票 2n-1台可以做集群投票。 此外,针对访问量比较大的 zookeeper 集群, 还可新增观察者角色。

Observer

  • 观察者角色,观察 Zookeeper 集群的最新状态变化并将这些状态同步过来,其对于非事务请求可 以进行独立处理,对于事务请求,则会转发给 Leader服务器进行处理。
  • 不会参与任何形式的投票只提供非事务服务,通常用于在不影响集群事务处理能力的前提下提升集 群的非事务处理能力。增加了集群增加并发的读请求。

ZK也是Master/slave架构,但是与之前不同的是zk集群中的Leader不是指定而来,而是通过选举产 生。

1.3 Zookeeper 特点

代码语言:javascript
复制
1. Zookeeper:一个领导者(leader:老大),多个跟随者(follower:小弟)组成的集群。
2. Leader负责进行投票的发起和决议,更新系统状态(内部原理) 
3. Follower用于接收客户请求并向客户端返回结果,在选举Leader过程中参与投票
4. 集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。
5. 全局数据一致:每个server保存一份相同的数据副本,Client无论连接到哪个server,数据都是一
致的。
6. 更新请求顺序进行(内部原理) 
7. 数据更新原子性,一次数据更新要么成功,要么失败。

2. Zookeeper环境搭建

2.1 Zookeeper的搭建方式

代码语言:javascript
复制
Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。
■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境;
■ 伪集群模式:就是在一台服务器上运行多个Zookeeper 实例;
■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”

2.2 Zookeeper集群搭建

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Zookeeper简介
    • 1.1 Zookeeper是什么?
      • 1.2 zookeeper的架构组成
        • 1.3 Zookeeper 特点
        • 2. Zookeeper环境搭建
          • 2.1 Zookeeper的搭建方式
            • 2.2 Zookeeper集群搭建
            相关产品与服务
            消息队列
            腾讯云消息队列 TDMQ 是分布式架构中的重要组件,提供异步通信的基础能力,通过应用解耦降低系统复杂度,提升系统可用性和可扩展性。TDMQ 产品系列提供丰富的产品形态,包含 CKafka、RocketMQ、RabbitMQ、Pulsar、CMQ 五大产品,覆盖在线和离线场景,满足金融、互联网、教育、物流、能源等不同行业和场景的需求。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档