Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。
■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境;
■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例;
■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble)
单机模式
-
下载
网址:https://zookeeper.apache.org/releases.html -
Zookeeper简单命令
启动:./zkServer.sh start
停止:./zkServer.sh stop
查看 ZK 状态:./zkServer.sh status
使用 zkCli 连接:./zkCli.sh -server 127.0.0.1:2181 -
操作node命令
# 查看命令 help # 展示某节点下所有节点 ls / # 创建节点 create 节点 节点值 eg: create /zk_test my_data # 获取节点值 get 节点 eg:get /zk_test # 更新节点的值 set 节点 新值 eg: set /zk_test junk # 递归删除 rmr 节点 # 删除节点 delete 节点 eg:delete /zk_test
集群模式
- 为每台服务器配置 zoo.cfg ,指定数据目录和日志目录,配置多个 zk 节点
- 在zoo.cfg文件中指定的dataDir目录下新建myid
#此为每个服务器的id,需要更zoo.cfg中的server.{n}中的n所对应
0
- 启动各个Zookeeper实例
ZooKeeper配置
(1) initLimit
此配置表示,允许follower(相对于Leaderer言的“客户端”)连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
(2) syncLimit
此配置项表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
(3) server.A=B:C:D
A:其中 A 是一个数字,表示这个是服务器的编号;
B:是这个服务器的 ip 地址;
C:Leader选举的端口;
D:Zookeeper服务器之间的通信端口。
(4) myid和zoo.cfg
除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面就有一个数据就是 A 的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。