Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理
安装
http://zookeeper.apache.org/
单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:/home/zookeeper-3.2.2 下,Zookeeper 的启动脚本在 bin 目录下
Zookeeper 的配置文件在 conf 目录下,包含 zoo_sample.cfg 和 log4j.properties,将 zoo_sample.cfg 改名为 zoo.cfg,因为 Zookeeper 在启动时会找这个文件作为默认配置文件。
启动服务:bin/zkServer.sh start
客户端连接:bin/zkCli.sh -server 127.0.0.1:2181
zookeeper集群的节点之间,需要先同步时间,相差不能超过30秒。启动的时间也不能超过30秒,否则启动失败。
介绍
类似于文件的数据结构,每一个都是作为znode。以/分隔,没有相对路径。
使用
常用操作
ls /
create /zk_test my_data 创建zk_test节点
get /zk_test
set /zk_test junk
delete /zk_test
dubbo信息
zkCli登录之后,可以查看相关的信息
ls /dubbo:所有注册的dubbo服务
查看某一个服务:包括消费者,提供者,配置文件等信息
ls /dubbo/com.wechat.rss.coupon.merchant.CouponOpRecordService
[consumers, routers, providers, configurators]
查看具体谁提供了服务,这里可以看到在多个环境下,都提供了同一个服务,通过dubbo version来区分开的
注意dubbo-admin上显示的数据可能存在延时,或者不准确。但是zookeeper中的内容相对及时和有效的。