部署准备
至少三台服务器
安装
Zookeeper 安装包准备
配置文件修改
复制一份配置文件命名为 zoo.cfg
shell
cp zoo_sample.cfg zoo.cfg
zoo.cfg
修改 dataDir。新增 server.1,server.2,server.3(x.x.x.x:2888:3888)
shell
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/bigdata/zookeeper/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpHost=0.0.0.0
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
server.1=bigdata1:2888:3888
server.2=bigdata2:2888:3888
server.3=bigdata3:2888:3888
分发配置文件到所有节点
shell
# 复制 zookeeper 安装包的解压文件夹到所有的机器
scp -r apache-zookeeper-3.9.2-bin root@x.x.x.x:$PWD
设置myid
在每台机器的 dataDir 配置对应的目录下的 data 文件夹内创建 myid 文件,文件内容分别为 1, 2,3。机器的IP 和 myid 文件的内容 需要和配置文件中对应起来。
配置环境变量
shell
export ZK_HOME=/usr/bigdata/apache-zookeeper-3.9.2-bin
export PATH=$PATH:$ZK_HOME/bin
启动集群
所有节点执行启动命令
shell
zkServer.sh start