zookeeper做成windows服务启动
作者:互联网
zookeeper下载安装
首先去官网下载zookeeper
注意:zookeeper的安装路径一定不要有空格,
作者之前就是因为安装在D:\Program Files\zookeeper-3.4.10路径下,
路径中有空格(Program Files中间有空格)解决了很长时间,想尽各种办法,最后发现TMD的是空格原因
配置环境变量
添加ZOOKEEPER_SERVICE, ZOOKEEPER_HOME两个环境变量
//服务名称(不要有中文)
ZOOKEEPER_SERVICE:zkServer
//设置到zookeeper-3.4.10目录下
ZOOKEEPER_HOME:D:\zookeeper-3.4.10
生成zoo.cfg
在zookeeper-3.4.10\conf目录下复制一份zoo_sample.cfg文件,并重命名为zoo.cfg
修改zoo.cfg文件里面的路径
//存放内存数据库快照的目录
dataDir=D:/zookeeper-3.4.10/data
//存放是事务日志目录
dataLogDir=D:/zookeeper-3.4.10/log
下载prunsrv
首先去Apache官网下载prunsrv
解压之后将prunmgr.exe和prunsrv.exe2个可执行文件复制到zookeeper的bin目录下
注意:64位机器用amd64/prunsrv.exe
新建install.bat
在zookeeper的bin目录下新建一个install.bat文件,用于注册服务
prunsrv.exe "//IS//%ZOOKEEPER_SERVICE%" ^
--DisplayName="Zookeeper (%ZOOKEEPER_SERVICE%)" ^
--Description="Zookeeper (%ZOOKEEPER_SERVICE%)" ^
--Startup=auto --StartMode=exe ^
--StartPath=%ZOOKEEPER_HOME% ^
--StartImage=%ZOOKEEPER_HOME%\bin\zkServer.cmd ^
--StopPath=%ZOOKEEPER_HOME%\ ^
--StopImage=%ZOOKEEPER_HOME%\bin\zkServerStop.cmd ^
--StopMode=exe --StopTimeout=5 ^
--LogPath=%ZOOKEEPER_HOME% --LogPrefix=zookeeper-wrapper ^
--PidFile=zookeeper.pid --LogLevel=Info --StdOutput=auto --StdError=auto
新建zkServerStop.cmd
在zookeeper的bin目录下新建一个zkServerStop.cmd文件,用于停止服务
@echo off
setlocal
TASKLIST /svc | findstr /c:"%ZOOKEEPER_SERVICE%" > %ZOOKEEPER_HOME%\zookeeper_svc.pid
FOR /F "tokens=2 delims= " %%G IN (%ZOOKEEPER_HOME%\zookeeper_svc.pid) DO (
@set zkPID=%%G
)
taskkill /PID %zkPID% /T /F
del %ZOOKEEPER_HOME%/zookeeper_svc.pid
endlocal
启动服务
已管理员运行cmd,进入D:/zookeeper-3.4.10/bin目录下运行install.bat,(注意:运行前请确保zookeeper服务已经关闭)
下图表示服务已经正常启动
删除服务
已管理员运行cmd,输入sc delete zkServer回车即可删除服务。
标签:bin,10,ZOOKEEPER,windows,zookeeper,3.4,HOME%,做成 来源: https://blog.csdn.net/u013254183/article/details/89708810