下载地址https://downloads.apache.org/zookeeper/
下载apache-zookeeper-3.6.3-bin.tar.gz ,一定要下载带bin的否则 会报错
错误: 找不到或无法加载主类org.apache.zookeeper.server.quorum.QuorumPeerMain
解压tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
如果没有在在环境变量里面设置JAVA_HOME,则需要指定jdk安装位置:
在bin/zkEnv.sh的中开始位置添加JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk.x86_64
修改配置文件
进入conf文件夹,复制zoo_sample.cfg,改名为zoo.cfg
# 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=/usr/local/cok/SFS2X/zookeeper/datas
# 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.
#
# http://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.httpPort=7000
#metricsProvider.exportJvmInfo=true
admin.serverPort=8087
server.1=10.0.2.242:2888:3888
server.2=10.0.2.243:2888:3888
server.3=10.0.2.244:2888:3888
其中dataDir=/usr/local/cok/SFS2X/zookeeper/datas中datas需要新建一个文件夹来存放数据
admin.serverPort=8087指定zookeeper服务端口
server.1=ip:2888:3888
server.2=ip:2888:3888
server.3=ip:2888:3888
指集群里面的服务器IP,集群服务器间通信端口,服务器选举端口
在你新建的datas里面创建文件myid,文件内容为1,或者2,与server.1里面的数字对应
分别启动每台服务器的zookeeper服务
zkServer.sh start
停止服务
zkServer.sh stop
查看集群节点状态:
zkServer.sh status
出现下面状态则集群启动成功
查看zookeeper日志:
在 logs文件夹下 zookeeper-root-server-localhost.out
记得开放需要的端口,防止服务器间端口访问不成功