Windows下以后台服务的方式配置ZooKeeper

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xht555/article/details/81571389

这里介绍在Windows环境下安装和配置ZooKeeper,仅适用于在开发环境下的单机调试场景,勿用于正式的生产环境中。重点是将ZooKeeper配置成Windows服务,开机就自动启动ZooKeeper服务,无需手动启动。当然,我也参考了网上的一些博客,但发现在Win10系统下停止服务时会报“发生系统错误 1067”的错误,感觉不爽,将停止服务脚本重写了一下,不会再出现1067的错误警告框。

ZooKeeper下载

官网下载地址:http://zookeeper.apache.org/releases.html#download

在我本机的开发环境下,我使用的ZooKeeper版本是:3.4.10。

ZooKeeper安装

1、在安装ZooKeeper之前,需要先安装JDK环境,并设置环境变量“JAVA_HOME”。

2、将下载到的ZooKeeper压缩包解压,并进入conf配置文件目录,例如:E:\dev-runtimes\zookeeper-3.4.10\conf。

3、复制“zoo_sample.cfg”,并重命名为“zoo.cfg”。

4、编辑“zoo.cfg”文件,设置ZooKeeper的数据存储目录(dataDir)和日志目录(dataLogDir),一般都设置在ZooKeeper的本目录里,如下:

dataDir=E:\\dev-runtimes\\zookeeper-3.4.10\\data
dataLogDir=E:\\dev-runtimes\\zookeeper-3.4.10\\log

注意路径中的双斜杠!

ZooKeeper的安装到此完成。

ZooKeeper服务配置

1、下载Apache出品的通用后台进程服务插件包:commons-daemon,下载地址:http://archive.apache.org/dist/commons/daemon/binaries/windows/,目前最新版本是1.1.0。

2、解压commons-daemon-1.1.0-bin-windows.zip,复制prunmgr.exe、prunsrv.exe到ZooKeepe安装路径的bin目录下。注意,如果你的操作系统是64位的,则复制amd64目录下的prunsrv.exe。

3、在ZooKeepe根目录下创建服务安装脚本:zk-service-install.bat

@echo off

REM #
REM # 说明:在Windows系统中安装ZooKeeper服务,实现以服务的方式启动ZooKeeper
REM # 注意:此脚本必须拷贝到ZooKeeper的根目录,否则运行报错
REM # ZK_HOME:			ZooKeeper安装目录
REM # ZK_DATA_DIR:		ZooKeeper数据目录
REM # ZK_SERVICE_NAME:	ZooKeeper服务名
REM # DATE:			2018-8-10 15:37:55
REM # Author:			许亮
REM #
REM # 服务启动命令:net start ZooKeeper
REM # 服务停止命令:net stop ZooKeeper

CD /d %~dp0
SET ZK_HOME=%CD%
SET ZK_DATA_DIR=%ZK_HOME%\data
SET ZK_LOG_DIR=%ZK_HOME%\log
SET ZK_SERVICE_NAME=ZooKeeper
if not exist %ZK_DATA_DIR% mkdir %ZK_DATA_DIR%
if not exist %ZK_LOG_DIR% mkdir %ZK_LOG_DIR%

:: 安装ZooKeeper的Windows服务
%ZK_HOME%\bin\prunsrv.exe "//IS//%ZK_SERVICE_NAME%" ^
--DisplayName="%ZK_SERVICE_NAME%" ^
--Description="%ZK_SERVICE_NAME%" ^
--Startup=auto ^
--StartMode=exe ^
--StartPath=%ZK_HOME% ^
--StartImage=%ZK_HOME%\bin\zkServer.cmd ^
--StopPath=%ZK_HOME%\ ^
--StopImage=%ZK_HOME%\zk-stop.bat ^
--StopMode=exe ^
--StopTimeout=5 ^
--LogPath=%ZK_LOG_DIR% ^
--LogPrefix=zookeeper-wrapper ^
--PidFile=zookeeper.pid ^
--LogLevel=Info ^
--StdOutput=auto ^
--StdError=auto

pause

4、在ZooKeepe根目录下创建服务卸载脚本:zk-service-remove.bat

@echo off

REM #
REM # 说明:卸载ZooKeeper的Windows服务
REM # 注意:此脚本必须拷贝到ZooKeeper的根目录,否则运行报错
REM # DATE:			2018-8-10 23:29:50
REM # Author:			许亮
REM #

CD /d %~dp0
%CD%\bin\prunsrv.exe //DS//ZooKeeper

5、在ZooKeepe根目录下创建服务停止脚本:zk-stop.bat

@echo off

REM #
REM # 说明:以杀进程的方式停止ZooKeeper服务
REM # 注意:此脚本必须拷贝到ZooKeeper的根目录,否则运行报错
REM # DATE:	2018-8-10 16:51:16
REM # Author:	许亮
REM #

setlocal

CD /d %~dp0

:: 以杀进程的方式停止ZooKeeper服务
SET /p zkPID=<%CD%\log\zookeeper.pid
taskkill /PID %zkPID% /T /F

endlocal

特别注意:上述三个bat脚本的字符编码要设置成“ANSI”编码,不然在执行脚本时会出现乱码。

6、以管理员身份运行脚本“zk-service-install.bat”,然后打开服务管理器,启动ZooKeeper服务

7、查看ZooKeeper的服务端口2182是否处于侦听状态

至此,将ZooKeeper安装成Windows系统服务的配置工作完成!

懒人下载

这里提供已经配置好服务脚本的3.4.10版的ZooKeeper,供不愿意看文档、做配置的同学使用,下载下来开箱即用,使用流程如下:

1、下载解压压缩包

2、以管理员身份执行批处理脚本“zk-service-install.bat”安装服务

3、初次启动时在命令提示符窗口输入“net start ZooKeeper”,以后会开机自动启动ZooKeeper服务

zookeeper-3.4.10 64位 Windows服务版

猜你喜欢

转载自blog.csdn.net/xht555/article/details/81571389
今日推荐