windows环境下zookeeper做成服务并启动


首先,引用和参考注明来源,尊重原创!

http://www.cnblogs.com/mrluo735/p/5345879.html

mrluo735的原创。

1.下载的Zookeeper是.cmd的批处理命令运行的,默认没有提供以windows服务的方式运行的方案

  下载地址:http://zookeeper.apache.org/

 

2.下载prunsrv 

  下载地址:http://archive.apache.org/dist/commons/daemon/binaries/windows/ 

3.解压后复制文件 

  64位机器用amd64/prunsrv.exe 
  a. 复制 commons-daemon-1.0.15-bin-windows/amd64/prunsrv.exe 至 zookeeper-3.4.8\bin目录下
  这是做服务的执行程序 
  b. 复制 commons-daemon-1.0.15-bin-windows/prunmgr.exe 至 zookeeper-3.4.8\bin目录下
  监控服务配置及运行的程序 

4.配置环境变量

  添加ZOOKEEPER_SERVICE, ZOOKEEPER_HOME两个环境变量

     ZOOKEEPER_SERVICE:服务名称(不要有中文)

     ZOOKEEPER_HOME:设置到zookeeper-3.4.8目录下

5.生成zoo.cfg

  在zookeeper-3.4.8\conf目录下复制一份zoo_sample.cfg文件,并重命名为zoo.cfg

 

6.在zookeeper-3.4.8\bin目录下添加一个 zkServerStop.cmd 文件.

  (注:cmd文件或者下面的bat文件,我们都可以先创建一个文本文件,然后把下面的内容copy进去,然后修改文本文件的后缀名即可)

 内容如下:  

@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

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

内容如下:
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


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

 


					


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM