首先是zookeeper下载,打开网站选择对应版本下载(一定要下载编译后的)
https://mirrors.bit.edu.cn/apache/zookeeper/

上传服务器,解压到对应目录opt下
tar -xvf apache-zookeeper-3.7.0-bin.tar.gz -C /opt

#移到配置目录
cd /opt/apache-zookeeper-3.7.0/conf
#复制配置文件
cp zoo_sample.cfg zoo.cfg
创建存储目录
mkdir -p /opt/apache-zookeeper-3.7.0/zoodata
#修改配置文件zoo.cfg
#dataDir:配置存储快照文件的目录。
dataDir=/opt/apache-zookeeper-3.7.0/zoodata
#zookeeper的新版中用了netty做为了内嵌的控制台服务,默认端口是8080
admin.serverPort=8091
#server.X=A:B:C 其中X是一个数字,表示这是第几号server,
#A是该server所在的IP地址,
#B配置该server和集群中的leader交换消息所使用的端口,
#C配置选举leader时所使用的端口。
server.0=127.0.0.1:2888:3888
#配置说明
tickTime:客户端会话超时时间,默认2000毫秒。
initLimit:配置客户端初始化可接受多少个心跳监测,默认10,即10*tickTime(默认2000),表示20s没有连接上集群的配置则连接失败。
syncLimit:配置Leader和follwer之间,允许多少个请求应答长度,默认5,即5*tickTime(默认2000),表示默认10sLeader和Follwer之间如果消息5次没有发送成功就不尝试了。
dataDir:配置存储快照文件的目录。
dataLogDir:配置事务日志存储的目录。
clientPort:服务默认端口,默认2181。
server.X=A:B:C 其中X是一个数字,表示这是第几号server,A是该server所在的IP地址,B配置该server和集群中的leader交换消息所使用的端口,C配置选举leader时所使用的端口。
启动zookeeper
cd /opt/apache-zookeeper-3.7.0/bin
./zkServer.sh start
#重启
./zkServer.sh restart
#关闭
./zkServer.sh stop
#查看状态
./zkServer.sh staus
#启动的时候,查看后台信息
./zkServer.sh start-foreground &
安装常见问题:
1. Could not find or Load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
下载安装包不是编译后的
2. Unable to start AdminServer,existing abnormally
zookeeper的新版中用了netty做为了内嵌的控制台服务,默认端口是8080。
通过查看zookeeper的官方文档,发现有3种解决途径:
(1).删除jetty。
(2)修改端口。
修改方法的方法有两种,一种是在启动脚本中增加 -Dzookeeper.admin.serverPort=你的端口号,一种是在zoo.cfg中增加admin.serverPort=没有被占用的端口号
(3)停用这个服务,在启动脚本中增加"-Dzookeeper.admin.enableServer=false"