zk简介
zk的下载安装
zk server 常用命令
配置项介绍
连接到zk server
搭建zk server集群
zk cli常用命令
zookeeper 动物园管理员,可以用来管理 hadoop(大象)、hive(蜜蜂)、pig(小 猪)、tomcat(猫)等。
zk是一个高性能的分布式管理、协调框架,主要功能包括
服务治理
作为配置中心,统一管理配置。dubbo的服务治理、配置中心一般用zk来实现。
实现分布式锁。使用临时znode实现。
发布/订阅,使用watcher机制实现。
实现队列。利用zk执行写请求的顺序一致性来实现(paxos算法)。
zk不是数据库、消息中间件之类的专门存储大量数据的组件,一般不用于存储大量数据,zk可以实现队列,但一般不用zk实现队列。
下载地址:https://zookeeper.apache.org/releases.html
下载 .tar.gz,win、linux都是同一个安装包
zk依赖于jdk,需要先安装jdk,配置jdk的环境变量。
zk可以直接被外网访问,不需要在配置文件中绑定本机实际ip。
zoo.cfg
1、使用zk自带的命令行客户端,bin/zkCli.sh
2、使用图形化客户端
ZooInspe,老牌客户端,界面很土,不推荐,https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip,双击运行build里面的.jar。
PrettyZoo,界面好看,操作方便,推荐,https://github.com/vran-dev/PrettyZoo
至少3个zk server,官方建议奇数个。
1、在每个zk server的zoo.cfg中,clientPort配置项的下面添加集群信息配置
指定各个zk server的myid、ip,myid唯一标识一个zk server,有的习惯从0开始,有的习惯从1开始。
2181是zk client、zk server之间通信的端口,2888是zk server节点之间通信的端口,3888是follower选举leader时使用的端口。
2、编辑各个zk server的data/myid,写上对应的myid
eg. server.1=192.168.1.1:2888:3888 ,192.168.1.1这个zk server的myid就是1(server后面的数字)
3、启动各个zk server,会自动分配角色(leader、follower、observer)。leader只有1个