【zookeeper笔记】zookeeper_启动和配置(1)
Page content
简单的整理了zookeeper启动和相关配置。
1.单节点启动
#run zookeeper
docker run --name some-zookeeper --restart always -d zookeeper
#status
$ docker exec -i zookeeper zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone
2.集群模式
创建stack.yml
version: '3.1'
services:
zoo1:
image: zookeeper
restart: always
hostname: zoo1
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
zoo2:
image: zookeeper
restart: always
hostname: zoo2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
zoo3:
image: zookeeper
restart: always
hostname: zoo3
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181
docker-compose -f stack.yml up
查看状态
root@zoo1:/apache-zookeeper-3.8.0-bin/bin# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
#Mode: leader
3.conf/zoo.cfg
zookeeper的常用配置解释
# 数据路径
dataDir=/data
# 日志存储路径
dataLogDir=/datalog
# 心跳毫秒
tickTime=2000
# initLimit*tickTime 服务启动时 判断Leader和flower的链接是否正常
initLimit=5
# syncLimit*tickTime 服务启动后 判断Leader和flower的链接是否正常
syncLimit=2
# 客户端连接server的port,即对外服务port,一般设置为2181
clientPort=2181
# 这个參数和上面的參数搭配使用,这个參数指定了须要保留的文件数目。默认是保留3个。
autopurge.snapRetainCount=3
# 3.4.0及之后版本号,ZK提供了自己主动清理事务日志和快照文件的功能,这个參数指定了清理频率。
# 单位是小时。须要配置一个1或更大的整数,默认是0。表不开启自己主动清理功能
autopurge.purgeInterval=0
# 单个client与单台server之间的连接数的限制,是ip级别的,默认是60。
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=true
#ZK集群节点配置,2181 对 client 端提供服务,端口号2888用于集群节点之间数据通信,端口号3888用于集群中Leader选举
server.1=localhost:2888:3888;2181
4.zookeeper 的三个端口作用
- 2181 : 对 client 端提供服务
- 2888 : 集群内机器通信使用
- 3888 : 选举 leader 使用
欢迎大家的意见和交流
email: li_mingxie@163.com