一、进入官网:Apache ZooKeeper
二、下载安装包
可以使用wget 下载,我这里服务器的原因就不使用了,直接在网页使用http下载,然后通过xftp上传到服务器
下载完成后通过xftp上传到linux服务器
三、解压
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
进入 解压后的目录: apache-zookeeper-3.7.1-bin
cd apache-zookeeper-3.7.1-bin
四、配置zoo.cfg
1、执行命令将zoo_sample.cfg 修改为 zoo.cfg
cp zoo_sample.cfg zoo.cfg
启动的时候默认回去读conf下的zoo.cfg配置文件
zoo.cfg 配置⽂件说明
# zookeeper时间配置中的基本单位 (毫秒)
tickTime=2000
# 允许follower初始化连接到leader最⼤时⻓,它表示tickTime时间倍数
# 即:initLimit*tickTime
initLimit=10
# 允许follower与leader数据同步最⼤时⻓,它表示tickTime时间倍数
syncLimit=5
#zookeper 数据存储⽬录及⽇志保存⽬录(如果没有指明dataLogDir,则⽇志也保存在这个⽂件中)
dataDir=/tmp/zookeeper
#对客户端提供的端⼝号
clientPort=2181
#单个客户端与zookeeper最⼤并发连接数
maxClientCnxns=60
# 保存的数据快照数量,之外的将会被清除
autopurge.snapRetainCount=3
#⾃动触发清除任务时间间隔,⼩时为单位。默认为0,表示不⾃动清除。
autopurge.purgeInterval=1
2、修改配置
vim zoo.cfg
修改如下:
#存放数据文件夹
dataDir=/data/zookeeper/data
#添加日志存放文件夹
dataLogDir=/data/zookeeper/log
五、启动zk
1、启动zk服务
./zkServer.sh start
在启动命令后增加 -foreground 查看原因:
./zkServer.sh start-foreground
出现这个问题主要是由于8080端口占用; 3.5版本以后,都会自动把8080端口给占用了,所以启动不成功
解决方案:
- 如果要使用服务器直接换一个端口号即可,在配置文件conf中的zoo.cfg添加
admin.serverPort=18080
即可 - 如果不使用服务器,直接将其禁用即可,也是在配置文件zoo.cfg中添加命令
admin.enableServer=false
我们这里需要使用zookeeper的服务端,所以在zoo.cfg中配置增加:
admin.serverPort=18080
再次启动 ./zkServer.sh start
zookeeper部署启动完成