1. 下载
2. 解压
创建目录zookeeper D:\zookeeper\zookeeper-3.4.9
3. 创建默认配置文件
复制conf目录下的zoo_sample.cfg,将其命名为:zoo.cfg
zoo.cfg简单配置说明
// 心跳间隔 毫秒每次
tickTime=2000
// 初始化时 连接到服务器端的间隔次数,总时间10*2=20秒
initLimit=10
// ZK Leader 和follower 之间通讯的次数,总时间5*2=10秒
syncLimit=5
// 镜像数据位置
dataDir=/tmp/zookeeper
// 日志位置
dataLogDir=/tmp/zookeeper/logs
// ZK 服务器端的监听端口
clientPort=2181
4. 启动验证
启动:
cmd bin\zkServer.cmd
验证:
a. 使用netstat -ano|findstr "2181" 查看状态是否OK
b. 使用JPS 查看启动的JAVA 进程的情况:
C:\Users\DELL>jps
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
21952 Client
13924
14164
26248 QuorumPeerMain
15212 Jps
21676 Server
c. 使用自带客户端命令:
zkCli.cmd -server 127.0.0.1:2181
5. 伪集群搭建
a. 将zoo.cfg文件名修改为zoo1.cfg
b. 修改zoo1.cfg文件内容
dataDir=/tmp/zookeeper/1
clientPort=2181
加入其他两个服务的地址和端口信息
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889
c. 按照上述规则创建出zoo1.cfg、zoo2.cfg、zoo3.cfg文件
zoo1.cfg
...
dataDir=/tmp/zookeeper/1
clientPort=2181
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889
zoo2.cfg
...
dataDir=/tmp/zookeeper/2
clientPort=2182
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889
zoo3.cfg
...
dataDir=/tmp/zookeeper/3
clientPort=2183
server.1=127.0.0.1:2887:3887
server.2=127.0.0.1:2888:3888
server.3=127.0.0.1:2889:3889
d. 将zkServer.cmd 改为zkServer1.cmd
e. 修改zkServer1.cmd文件
在set ZOOMAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain后加入
set ZOOCFG=..\conf\zoo1.cfg
f. 按照上述规则创建出zkServer1.cmd、zkServer2.cmd、zkServer3.cmd文件
zkServer1.cmd
...
set ZOOCFG=..\conf\zoo1.cfg
zkServer2.cmd
...
set ZOOCFG=..\conf\zoo2.cfg
zkServer3.cmd
...
set ZOOCFG=..\conf\zoo3.cfg
g: 在对应的数据存储目录下建立实例id
myid:对应的zoo.cfg里server.后数字
/tmp/zookeeper/1
myid // 1
/tmp/zookeeper/2
myid // 2
/tmp/zookeeper/3
myid // 3
6. 伪集群启动验证
启动:
cmd bin\zkServer1.cmd
cmd bin\zkServer2.cmd
cmd bin\zkServer3.cmd
启动前面两个时会提示错误信息:
Cannot open channel to 2 at election address /127.0.0.1:3888
Cannot open channel to 3 at election address /127.0.0.1:3889
等待3个脚本都启动完成后就不会有错误信息了
验证:
cmd cd到bin目录下执行zkCli.cmd -server 127.0.0.1:2181
ls / //查看根节点
[zookeeper]
create /zk "test" // 创建一个新的 znode节点“ zk ”以及与它关联的字符串
Created /zk
cmd bin\zkCli.cmd -server 127.0.0.1:2182
ls / //查看根节点
[zk, zookeeper]
可以看到节点数据已经同步了