zookeeper学习笔记

it2023-07-11  68

zookeeper学习笔记

一个动物管理员的故事。 在集群的管理中,zookeeper主要负责分布式应用程序的协调的工作。

一、四个主要的功能

统一的命名服务 在分布式应用中需要一套完整的命名规则,既能够产生唯一的名称又便于识别和记忆。通常情况下使用树形的名称结构是一个理想的选择。

阿里的dubbo中使用了zookeeper来作为其命名服务,维护全局的服务地址列表。 在leader统一命名的管理下,集群中的数据读写的方式:

1.1.写数据,一个客户端进行写数据请求时,会指定Zookeeper集群节点,如果是Follower接收到写请求,会把请求转发给Leader,Leader通过内部的Zab协议进行原子广播,直到所有Zookeeper节点都成功写了数据,然后Zookeeper会给Client发回写完响应。1.2.读数据,因为集群中Zookeeper按照统一的命名空间,所有Zookeeper节点呈现相同的命名空间视图(文件目录名称结构),所以读数据的时候请求任意一台Zookeeper节点都一样。 配置管理 将人工维护的每台机器都一样的配置环境一样的东西交给zookeeper来维护。

如图所示,将配置信息保存在Zookeeper(Leader节点)的某一个目录中,然后将所有需要修改的应用机器订阅该Zookeeper(Leader节点)节点,一旦Leader节点发布新配置信息,每台订阅的机器就会收到Zookeeper的通知,然后从Zookeeper获取新的配置信息应用到系统中,完成配置的集中统一管理。

集群管理 监控集群和leader选举。 看不懂了。

二、基本运转流程

ZooKeeper的基本运转流程: 1、选举Leader。 2、同步数据。 3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。 4、Leader要具有最高的执行ID,类似root权限。 5、集群中大多数的机器得到响应并接受选出的Leader。

三、zookeeper为什么要用

我个人觉得zookeeper在hadoop中的作用就是为了防止夯机,所以实时监管了一个NN。

四、zookeeper安装

参考资料

【1】 作者:悟成 链接:https://www.jianshu.com/p/fdcd6cd6a871 来源:简书 【2】 百度百科 https://baike.baidu.com/item/zookeeper/4836397?fr=aladdin 【3】 作者:柳树 连接:https://zhuanlan.zhihu.com/p/69114539 【4】 https://blog.csdn.net/julyfire/article/details/12081021
最新回复(0)