美文网首页
Zookeeper开发环境配置

Zookeeper开发环境配置

作者: 刘军颖 | 来源:发表于2019-05-31 18:34 被阅读0次

    Zookeeper开发环境配置

    为什么要配置

    经常在开发的时候,特别是分布的时候我们经常使用的就是Zookeeper,但是很多人都是在配置了zoo.cfg以后都是直接撞击CMD窗口,不是说不对,我是觉得现在谁的开发机不是4G内存以上,那为啥不配置成服务呢?每次一个窗口看着都是LOW

    必备知识以及工具

    下载commons-demon工具

    这个工具是Apache给我们开发的一款win下通用服务软件,为了的就是解决我们在制作启动服务的时候遇到困难。
    Commons Daemon可以将一个普通的java应用程序作为linuxwindows的后台服务,以daemon方式运行。例如Tomcat就是使用这个项目来实现作为Linux和Windows的服务启动/停止的。

    它分为两个部分,一部分是用C写的,与操作系统交互,另一部分是用java写的,提供Daemon接口。Apache commons daemon对win32和Unix平台都有支持,win32平台使用procrun, Unix平台使用jsvc

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

    说明文档:http://commons.apache.org/proper/commons-daemon/procrun.html

    建议下载最新版本,为啥不知道,反正新的一般情况下比老的相对情况下是比较好用
    其实有一个更好用的工具:java service wrapper但是要钱,我直接否决了
    Wrapper下载地址:<http://wrapper.tanukisoftware.com/doc/english/download.jsp>

    Zookeeper安装

    安装没有任何好讲解的,下载解压缩,完后修改conf文件夹配置文件,添加集群或者其他,新建一个DATA保存目录即可!

    配置系统变量

    我们需要在系统中添加ZOOKEEPER_SERVICEZOOKEEPER_HOME两个环境变量,为了使给我们后边的BAT脚本添加运行命令的时候可以使用,替代常常的地址!

    ①添加系统变量ZOOKEEPER_SERVICE
    变量名称填写:ZOOKEEPER_SERVICE
    变量值填写:zookeeper_service

    ②添加系统变量ZOOKEEPER_HOME
    变量名称填写:ZOOKEEPER_HOME
    变量值填写:点击浏览文件夹,完后选择zookeeper文件夹

    新建运行创建服务命令脚本

    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
    

    命令很简单,不解释了,看看上边发的文档地址,五分钟内绝对明白,把这个文件保存为Zookeeper_Install_Service.bat直接管理员选线运行就可以了.
    备注:^这个就是换行的意思,win下的标识符

    新建关闭服务脚本

    Zoookeeper没有给我们提供关闭脚本,知识提供了一个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
    

    为啥这么写,这个编写是按照我们服务创建脚本,说白了这个就是根据PID标识,完后KILL掉进程完事!

    这个必须保存为:zkServerStop.cmd因为我们启动脚本里写的是这个名字

    相关文章

      网友评论

          本文标题:Zookeeper开发环境配置

          本文链接:https://www.haomeiwen.com/subject/gmggtctx.html