本文主要是介绍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回车即可删除服务。
这篇关于zookeeper做成windows服务启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!