1.版本概述
windows: win10
zookeeper:3.5.5(目前最新版本)
2.下载过程
zookeeper稳定版下载链接 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/,进入页面如下:
我下载了apache-zookeeper-3.5.5-bin.tar.gz
,下载完成后直接解压,解压后首先添加data
和logs
两个文件夹,添加完成后目录如下:
见名知意,data
目录是用来存放数据的,logs
目录是用来存放日志的,后面会用到这两个目录
- 修改配置文件
进入conf
文件夹,复制一份zoo_sample.cfg
文件并改名为,使用Notepad++打开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=/tmp/zookeeper
# 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
修改dataDir
并添加一个dataLogDir
,dataDir
修改为刚才添加的data
目录,dataLogDir
则指向添加的logs
目录,如下:
# 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=F://zookeeper//apache-zookeeper-3.5.5-bin//data
dataLogDir=F://zookeeper//apache-zookeeper-3.5.5-bin//logs
#================修改部分===========================
# 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
注意:
dataDir
和dataLogDir
的路径必须是用\\
隔开,如果我们直接复制粘贴这两个文件夹的路径,文件夹的层级是用/
隔开的,问题是F:\zookeeper\apache-zookeeper-3.5.5-bin\data
和F:\zookeeper\apache-zookeeper-3.5.5-bin\logs
这两个路径没有起作用,要想验证的话,启动服务器就知道了。
名词解释:
-
tickTime
:一个时间长度的时间,单位是ms
,后面的initLimit
和syncLimit
的单位都是时间长度 -
initLimit
: 集群环境下,follower服务器连接到leader服务器的最大时间长度,本例设置为10,那么时间就是10*2(ticktime)=20,单位是s
-
syncLimit
:集群环境下,follower服务器发送请求到leader服务器响应的时间长度,本例设置为5,那么时间就是5*2(ticktime)=10,单位是s
3.启动
按win+x
选择命令行窗口或者window power shell
,也可以用win+r
打开“运行“,然后输入cmd
来打开命令行窗口,将地址切换到zookeeper的bin目录下,输入命令zkserver
启动zookeeper,
也可以给zookeeper配置环境变量,配置一个%ZOOKEEPER_HOME%
,路径为F:\zookeeper\apache-zookeeper-3.5.5-bin
,再给path
添加一个%ZOOKEEPER_HOME%\bin
,这样每次用命令行启动zookeeper会方便一点
启动后,界面如下:
注意看最后的几行启动日志
这样可能看不出什么,挺正常的,但是如果把zoo.cfg
文件的dataDir
和dataLogDir
的路径设置分别成F:\zookeeper\apache-zookeeper-3.5.5-bin\data
和F:\zookeeper\apache-zookeeper-3.5.5-bin\logs
,这两行日志就会变成这样:
也就是说路径配置错误,zookeeper会默认把data文件和log文件在bin目录下再分别创建一个新文件夹,大家可以试试。