zookeeper安装
下载
单机部署
1、解压
1 | tar -zxvf zookeeper-3.4.13.tar.gz |
2、配置文件
zookeeper默认读取配置文件zoo.cfg
但实际上不存在该文件,因此需要将模板配置文件复制更改文件名。
1 | cd conf/ |
若不创建zoo.cfg
配置文件,zookeeper启动报以下异常。
1 | ZooKeeper JMX enabled by default |
3、启动
1 | ./bin/zkServer.sh start |
控制台输出以下内容则说明启动成功。
1 | ZooKeeper JMX enabled by default |
4、查看状态
1 | ./bin/zkServer.sh status |
standalone
表示当前zookeeper为单机环境运行。
1 | ZooKeeper JMX enabled by default |
5、默认端口
zookeeper默认监听3个端口:
- 2181:对cline端提供服务
- 3888:选举leader使用
- 2888:集群内机器通讯使用(Leader监听此端口)
集群部署
解压
准备3个zookeeper目录
1 | zookeeper-1 |
配置文件
分别修改三个zookeeper目录下的配置文件conf/zoo.cfg
。
zookeeper-1:
1 | dataDir=/usr/soft/zookeeper/zookeeper-1/data |
zookeeper-2:
1 | dataDir=/usr/soft/zookeeper/zookeeper-2/data |
zookeeper-3:
1 | dataDir=/usr/soft/zookeeper/zookeeper-3/data |
其中配置server.A=B:C:D
表示zookeeper集群所有机器(包括自己)的配置:
- A:zookeeper的
myid
,值域为[1,255] - B:服务器ip
- C:leader选举的端口
- D:zookeeper之间的通信端口
myid
设置各zookeeper的myid值,在各zookeeper的dataDir
目录下创建名为myid
的文件,文件里的数据为该zookeeper的myid值,即server.A=B:C:D
中的A。一个zookeeper集群中各个zookeeper的myid必须唯一。
zookeeper-1:
1 | mkdir zookeeper-1/data |
zookeeper-2:
1 | mkdir zookeeper-2/data |
zookeeper-3:
1 | mkdir zookeeper-3/data |
启动
1 | ./zookeeper-1/bin/zkServer.sh start |
查看状态
zookeeper-1:
1 | $ ./zookeeper-1/bin/zkServer.sh status |
zookeeper-2:
1 | $ ./zookeeper-2/bin/zkServer.sh status |
zookeeper-3:
1 | $ ./zookeeper-3/bin/zkServer.sh status |
可见zookeeper-3为leader,其余为follower。