Windows环境下安装Zookeeper

431 阅读2分钟

说明

ZooKeeper的安装模式分为三种,分别为:单机模式(stand-alone)、集群模式和集群伪分布模式。
ZooKeeper运行依赖Java环境,因此安装zk前需要配置好Java环境,否则会报错Error: JAVA_HOME is not set.

下载

下载地址:zookeeper.apache.org/releases.ht… 选择最新稳定版本,当前为3.8.3; image.png image.png 注意:

  • Apache ZooKeeper 3.8.3(asc, sha512)下载文件名为apache-zookeeper-3.8.3-bin.tar.gz
  • Apache ZooKeeper 3.9.1 Source Release(asc, sha512)下载文件名为apache-zookeeper-3.9.1.tar.gz 此处要下载第一个,名称为apache-zookeeper-3.8.3-bin.tar.gz的文件;

配置

1、解压后进入文件夹,新建datalog文件夹;
2、进入conf文件夹,复制zoo_sample.cfg后改名为zoo.cfg;(因为在bin/zkEnv.cmd中默认了zoo.cfg的名称)
3、修改zoo.cfg中的文件内容

# dataDir目录修改为解压zk的目录
dataDir=D:\apache-zookeeper-3.8.3-bin\data
# 新增日志目录
dataLogDir=D:\apache-zookeeper-3.8.3-bin\log

4、防止端口占用

在使用zookeeper 3.6之后的版本,开启服务器,zk会自动占用8080端口。

# admin.serverPort 默认占8080端口
admin.serverPort=8888

添加这行设置,可以更改zk的端口;

启动

1、启动服务端

进入bin/,打开运行zkServer.cmd,即可启动zk服务端。 打印内容出现以下内容,证明启动成功。

2023-12-18 15:27:34,164 [myid:] - INFO  [main:o.a.z.s.NIOServerCnxnFactory@660] - binding to port 0.0.0.0/0.0.0.0:2181

2、启动客户端

进入bin/,打开运行zkCli.cmd,即可启动zk客户端。

注意:
注意顺序,先启动服务端,再启动客户端,否则报错。

zoo.cfg参数

  • tickTime=2000 作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间(毫秒)就会发送一个心跳。
  • initLimit=10 用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数,当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒
  • syncLimit=5 这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10秒
  • dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
  • clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。