Linux安装:https://blog.csdn.net/qq_41694906/article/details/124613743
Windows 安装 : https://blog.csdn.net/xc_zhou/article/details/121593786
注册服务:https://www.cnblogs.com/zlslch/p/8561791.html

下载

下载地址:https://zookeeper.apache.org/releases.html
image.png

解压

将下载好的apache-zookeeper-3.7.0-bin.tar.gz解压到常用安装目录下面即可

修改配置文件

  • 将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg
  • 需要在安装目录下面新建一个空的data文件夹和log文件夹
  • 修改zoo.cfg配置文件,将dataDir=/tmp/zookeeper修改成zookeeper安装目录所在的data文件夹,再添加一条添加数据日志的配置,如下图

    1. dataDir=C:/Develop/apache-zookeeper-3.7.1-bin/data
    2. dataLogDir=C:/Develop/apache-zookeeper-3.7.1-bin/log

    image.png

  • tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

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

审核日志

zookeeper新增的审核日志是默认关闭,所以控制台输出ZooKeeper audit is disabled,标准的修改方式应该是在zookeeper的配置文件zoo.cfg新增一行audit.enable=true即可
https://blog.csdn.net/u011702673/article/details/109963726

启动

启动zookeeper,判定是否安装成功,双击运行bin目录下的zkServer.cmd文件即可
image.png

检查服务是否启动,可以通过 netstat -ano 命令查看是否有配置的 clientPort 端口号在监听服务
image.png

也可以通过双击执行zkCli.cmd来判定是否启动成功。
image.png

注册服务

下载prunsrv

image.png

解压后复制以下文件
注意:64位系统的机器用amd64/prunsrv.exe

  1. 复制 commons-daemon-1.0.15-bin-windows/amd64/prunsrv.exe 至 zookeeper-3.4.8\bin目录下。这是做服务的执行程序

image.png
image.png

  1. 复制 commons-daemon-1.0.15-bin-windows/prunmgr.exe 至 zookeeper-3.4.8\bin目录下

image.png
image.png

配置环境变量
添加ZOOKEEPER_SERVICE, ZOOKEEPER_HOME两个环境变量

  1. 服务名称(不要有中文),我这里取的是,命名为zookeeper_service
  2. ZOOKEEPER_SERVICEzookeeper_service
  3. 设置到zookeeper-3.4.8目录下
  4. ZOOKEEPER_HOMEC:\Develop\apache-zookeeper-3.7.1-bin

新建 zkServerStop.cmd 文件
在zookeeper-3.4.8\bin目录下添加一个 zkServerStop.cmd 文件.
  (注:cmd文件或者下面的bat文件,我们都可以先创建一个文本文件,然后把下面的内容copy进去,然后修改文本文件的后缀名即可)

  1. @echo off
  2. setlocal
  3. TASKLIST /svc | findstr /c:"%ZOOKEEPER_SERVICE%" > %ZOOKEEPER_HOME%\zookeeper_svc.pid
  4. FOR /F "tokens=2 delims= " %%G IN (%ZOOKEEPER_HOME%\zookeeper_svc.pid) DO (
  5. @set zkPID=%%G
  6. )
  7. taskkill /PID %zkPID% /T /F
  8. del %ZOOKEEPER_HOME%/zookeeper_svc.pid
  9. endlocal

新建一个批处理安装文件install.bat
(注: install.bat 文件也需要放在zookeeper-3.4.8\bin 目录下才可以)

  1. prunsrv.exe "//IS//%ZOOKEEPER_SERVICE%" ^
  2. --DisplayName="Zookeeper (%ZOOKEEPER_SERVICE%)" ^
  3. --Description="Zookeeper (%ZOOKEEPER_SERVICE%)" ^
  4. --Startup=auto --StartMode=exe ^
  5. --StartPath=%ZOOKEEPER_HOME% ^
  6. --StartImage=%ZOOKEEPER_HOME%\bin\zkServer.cmd ^
  7. --StopPath=%ZOOKEEPER_HOME%\ ^
  8. --StopImage=%ZOOKEEPER_HOME%\bin\zkServerStop.cmd ^
  9. --StopMode=exe --StopTimeout=5 ^
  10. --LogPath=%ZOOKEEPER_HOME% --LogPrefix=zookeeper-wrapper ^
  11. --PidFile=zookeeper.pid --LogLevel=Info --StdOutput=auto --StdError=auto

在cmd中以管理员身份运行install.bat
(注:其实我想说在zookeeper-3.4.8\bin目录下,双击install.bat文件就可以了,然后进入服务管理,就可以看到相应的服务了,不过这时候还没启动,右击启动即可。)

查看: 开始→运行(Windows+R快捷键也能调出运行) 输入:services.msc确定

image.png
image.png

删除服务

开始—运行-regedit然后依次打开HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services

image.png