zookeeper是什么
Zookeeper: 是一个分布式的、开源的程序协调服务
zookeeper有什么用
他提供的主要功 能包括:配置管理、名字服务、分布式锁、集群管理。
如何搭建zookeeper
本文基于docker搭建单机版及集群版
单机版
- 首先拉取zookeeper镜像
docker pull zookeeper
查看镜像
- 创建目录
cd /opt/zookeeper
mkdir conf data datalog
- 创建配置文件
vi conf/zoo.cfg
文件内容
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data
dataLogDir=/logs
clientPort=2181
- 启动容器
docker run --name zk -p 2181:2181 -v /opt/zookeeper/data:/data -v /opt/zookeeper/conf/zoo.cfg:/conf/zoo.cfg -v /opt/zookeeper/logs:/logs -d zookeeper:3.5.6
集群版
假设有三台服务器
ip为:
116.62.154.78
118.31.227.22
49.233.89.186
- 每台服务器上创建目录
mkdir conf data datalog
- 分别创建配置文件
vi conf/zoo.cfg
文件内容
tickTime=2000
initLimit=5
syncLimit=2
#maxClientCnxns=60
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
dataDir=/data
dataLogDir=/datalog
clientPort=2181
server.1=116.62.154.78:2888:3888
server.2=118.31.227.22:2888:3888
server.3=49.233.89.186:2888:3888
- 创建myid,注意每台机器的文件内容不一样,我的分别为1、2、3
vi data/myid
- 分别启动容器
docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --restart=always \
-v /data:/opt/zookeeper/data \
-v /datalog:/opt/zookeeper/logs \
-v /conf:/opt/zookeeper/conf \
--name=zk1 \
zookeeper:3.5.6
docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --restart=always \
-v /data:/opt/zookeeper/data \
-v /datalog:/opt/zookeeper/logs \
-v /conf:/opt/zookeeper/conf \
--name=zk2 \
zookeeper:3.5.6
docker run -d -p 2181:2181 -p 2888:2888 -p 3888:3888 --restart=always \
-v /data:/opt/zookeeper/data \
-v /datalog:/opt/zookeeper/logs \
-v /conf:/opt/zookeeper/conf \
--name=zk3 \
zookeeper:3.5.6