ZK锦集:Zookeeper的下载和安装 | 真/伪集群的快速搭建| 总结的很详细

前言

文章力求:通俗易懂、图文并茂、系统全面,语言精练,主要介绍以下知识点
1.zk基础知识铺路,做到屋里有粮,心中不慌
2.zk的下载、安装、核心参数配置、节点参数释义
3.zk集群快速搭建的两种方式
 

注:本文以zk的3.4.6版本展开介绍,如想使用更高zk3.8.0版本[下载](需要下载已编译的bin版本),则需要注意一些细节,本文依然适合你阅读,里面的坑,已经标注。

如果感兴趣ZK常规命令,请参考:
zookeeper常规命令 | Watch | ACL权限操作 | nc四字命令详解

一、概述

1.zk概述

Zookeeper是谷歌基于Java语言开发的分布式协调服务,是HadoopHbase的重要组件。基于java语言开发的分布式组件,Zookeeper的本意就是动物管理员,它里面有大象Hadoop小猪Pig(组件)、Hive蜜蜂,成员依然在持续壮大中。

2.作用

1.zk节点可以存储1M数据,作为中间件可以提供协调服务(比如用来存储、计算、缓存)
2.可以为大数据服务,比如配置维护、命名服务、同步服务。
3.提高程序的高可用(通过快速选举Leader+分布式锁的watch实现)

3.特性

1.最终一致性︰数据一致性,数据按照顺序分批入库(仅Leader有事务操作权限)
2.原子性︰事务要么成功要么失败,不会局部化
3.统—视图︰客户端连接集群中的任—zk节点,数据都是一致的
4.可靠性︰每次对zk的操作状态都会保存在服务端(一台宕机,无感被切换到另一台继续处理),Keepalive没有这一特性。
5.实时性︰客户端可以读取到zk服务端的最新数据 
6.独立性:各个Client之间互不干预

4.版本变迁

ZooKeeper3.6引入了观察者Observer角色,之前版本只有Leader和Flower,截止收稿(2021.12),最新版本更新到ZooKeeper3.7.1[下载]

截止2022年11月13日,zk已更新至 Zookeeper3.8[下载]

1.Observer引入原因

1.早期版本ZooKeeper集群无法做到跨域部署。

2.随着集群规模的变大,Flower越来越多,彼此的网络通信也变得越来越耗时,集群处理写入的性能反而下降。

2.Observer[观察者]特色

1.Observer功能上和Flower的主要区别是它没有选举和被选举权

2.Observer 可以处理 ZK在集群中的非事务性请求,不参与投票操作,这样既保证了集群扩展性,又避免了因为过多的服务器参与投票相关的操作而影响 ZooKeeper 集群处理事务性会话请求的能力。

3.Observer 不参与 Leader 节点等操作,并不会像 Follow 服务器那样频繁的与 Leader 服务器进行通信。因此,可以将 Observer 服务器部署在不同的网络区间中,这样也不会影响整个 ZooKeeper 集群的性能,也就是所谓的跨域部署。 

3.Observer配置示例 

peerType=observer  此行代码,只需在observer观察者所在这台机器的zoo.cfg中配置!!!
server.1=192.168.31.214:2888:3888
server.2=192.168.31.215:2888:3888
server.3=192.168.31.216:2888:3888:observer  本行代码,集群中所有配置文件都要一样

一般小公司的zk,3、5、6、7、9台机器就够用了,observer用的场景不多。 

5.

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值