ZooKeeper(一):初识ZooKeeper


prtyaa
prtyaa 2023-12-28 16:21:16 64720
分类专栏: 资讯

什么是ZooKeeper?

ZooKeeper由雅虎研究院开发,是Google Chubby的开源实现,后来托管到Apache,于2010年11月正式成为Apache的顶级项目。

大数据生态系统里的很多组件的命名都是某种动物或者昆虫,比如hadoop就是 ,hive就是 。ZooKeeper即动物园管理者,顾名思义就是管理大数据生态系统各组件的管理员。


ZooKeeper应用场景:

ZooKeeper是一个经典的分布式数据一致性解决方案,致力于为分布式应用提供一个高性能、高可用,且具有严格顺序访问控制能力的分布式协调存储服务。

  • 维护配置信息
  • 分布式锁服务
  • 集群管理
  • 生成分布式唯一ID

1、维护配置信息

java编程经常会遇到配置项,比如数据库的url、schema、user和password 等。
通常这些配置项我们会放置在配置文件中,再将配置文件放置在服务器上当需要更改配置项时,
需要去服务器上修改对应的配置文件。
但是随着分布式系统的兴起,由于许多服务都需要使用到该配置文件,
因此有必须保证该配置服务的高可用性和各台服务器上配置数据的一致性。
通常会将配置文件部署在一个集群上, 
然而一个集群动辄上千台服务器,此时如果再一台台服务器逐个修改配置文件那将是非常繁琐且危险的的操作。
因此就需要一种服务,能够高效快速且可靠地完成配置项的更改等操作,
并能够保证各配置项在每台服务器上的数据一致性。

2、分布式锁服务

一个集群是一个分布式系统,由多台服务器组成。
为了提高并发度和可靠性, 多台服务器上运行着同一种服务。
当多个服务在运行时就需要协调各服务的进度。
有时候需要保证当某个服务在进行某个操作时,其他的服务都不能进行该操作,即对该操作进行加锁。
如果当前机器挂掉后,释放锁并fail over 到其他的机器继续执行该服务。

3、集群管理

一个集群有时会因为各种软硬件故障或者网络故障,出现某些服务器挂掉而被移除集群。
而某些服务器加入到集群中的情况,zookeeper会将这些服务器加入/移出的情况 
通知给集群中的其他正常工作的服务器,以及时调整存储和计算等任务的分配和执行等。
此外zookeeper还会对故障的服务器做出诊断并尝试修复。 

 

4.生成分布式唯一ID

在过去的单库单表型系统中,通常可以使用数据库字段自带的auto_increment 
属性来自动为每条记录生成一个唯一的ID。但是分库分表后,就无法在依靠数据库的 
auto_increment属性来唯一标识一条记录了。此时我们就可以用zookeeper在分布式环境下生成全局唯一ID。
做法如下:每次要生成一个新Id时,创建一个持久顺序节点,创建操作返回的节点序号,即为新Id,
然后把比自己节点小的删除即可。

ZooKeeper的设计目标

ZooKeeper致力于为分布式应用提供一个高性能、高可用,且具有严格顺序访问控制能力的分布式协调服务。

1 .高性能

zooKeeper将全量数据存储在内存中,并直接服务于客户端的所有非事务请求,
尤其适用于以读为主的应用场景 。

2.高可用

zooKeeper一般以集群的方式对外提供服务,一般3 ~ 5台机器就可以组成一个可用 
的Zookeeper集群了,每台机器都会在内存中维护当前的服务器状态,并且每台机器之间都相 
互保持着通信。
只要集群中超过一半的机器都能够正常工作,那么整个集群就能够正常对外服务。

3.严格顺序访问

对于来自客户端的每个更新请求,ZooKeeper都会分配一个全局唯一的递增编号, 
这个编号反映了所有事务操作的先后顺序。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31800
赞同 0
评论 0 条
prtyaaL0
粉丝 1 发表 2554 + 关注 私信
上周热门
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1448
银河麒麟打印带有图像的文档时出错  1365
银河麒麟添加打印机时,出现“server-error-internal-error”  1151
统信桌面专业版【如何查询系统安装时间】  1073
统信操作系统各版本介绍  1070
统信桌面专业版【全盘安装UOS系统】介绍  1028
麒麟系统也能完整体验微信啦!  984
统信【启动盘制作工具】使用介绍  627
统信桌面专业版【一个U盘做多个系统启动盘】的方法  575
信刻全自动档案蓝光光盘检测一体机  484
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!