官方是这么解释 Zookeeper的它是一个分咘式服务框架,是 Apache Hadoop 的一个子项目它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等
Zookeeper 维护一个类似文件系统的数据结构,可以为客户端管理少量数据 k-v
每个子目录项如 NameService 都被称作为 znode(目录節点)和文件系统一样,我们能够自由的增加、删除 znode在一个 znode 下增加、删除子 znode,唯一的不同在于 znode 是可以存储数据的
客户端注册监听它關心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时Zookeeper 会通知客户端
Zookeeper 功能非常强大,可以实现诸如 分布式应用配置管理、统一命名服务、状态同步服务、集群管理等功能我们这里拿比较简单的分布式应用配置管理为例来说明。
假设我们的程序是分布式部署在多台机器上如果我们改变程序的配置文件,需要逐台机器去修改非常麻烦,现在把这些配置放在 Zookeeper 上去保存在 Zookeeper 的某个目录节点中,然后所有相关应用程序对这个目录节点进行监听一旦配置信息发生变化,每个应用程序就会收到 Zookeeper 的通知然后从 Zookeeper 获取噺的配置信息应用到系统中。
如上你大致应该了解zookeeper是个什么东西,大概能做些什么了我们马上来学习下zookeeper的安装及使用,并开发一个小程序来实现zookeeper这个分布式配置管理的功能
1、使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
3、再次使用 ls 命令来查看现在 zookeeper 中所包含的内容:
4、下面我们运行 get 命令来确认第二步中所创建的 znode 是否包含我们所创建的字符串:
5、下面我们通过 set 命令来对 zk 所关联的字符串进行设置
6、下面我们将刚才创建的 znode 删除
再此之前我们需要学习下有关 Zookeepe 的类型 znode:
修改完成后,我们看见两个程序后台都及时收到了他们监听的目录节点数据变更后的值如下所示
配置已修改,新值為:pyy版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。