windows系统安装zookeeper及测试
zookeeper运行需要Java环境(一般能学到zookeeper的,电脑上的Java环境应该是都配好了的),如果还没有配Java环境,去配一下classpath和Java_Home,安装好jdk环境再来安装zookeeper。
1.下载zookeeper
下载地址:http://us.mirrors.quenda.co/apache/zookeeper
这里我选择的是3.4.14版本
2.解压并测试
下载后解压到一个自己的文件夹中,然后到bin目录下
以管理员的身份运行1.zkServer.cmd ,会出现闪退。
寻找闪退原因:我们用notepad++打开zkServer.cmd(如果没有安装notepad++请忽略这一步,这一步只是为了展示闪退原因)
我们在这里加一个暂停,保存后再次运行zkServer.cmd
这里我们发现提示找不到conf路径下的zoo.cfg文件。
这里我们发现果然没有zoo.cfg文件,因此我们复制一份zoo_sample.cfg文件,修改文件名为zoo.cfg(zoo.cfg文件的本质是配置文件,可以自己对zookeeper进行配置,zoo_sample.cfg是默认配置)。
使用notepad++打开zoo.cfg,进行两项配置如下:
保存后再次运行zkServer.cmd
启动成功。
运行zkCli.cmd进行连接测试(注意:不要关闭zkServer.cmd窗口,不然sever会停止)
连接成功,我这里展示了一下所有节点,只有一个zookeeper一个节点,然后我创建了一个name节点并且放入了一个值:zhx,然后再次展示节点,最后取出name中的值。
3.将zookeeper配置为后台服务运行
1、下载Apache出品的通用后台进程服务插件包:commons-daemon,下载地址:http://archive.apache.org/dist/commons/daemon/binaries/windows/
2、解压commons-daemon-xxx-bin-windows.zip,复制prunmgr.exe、prunsrv.exe到ZooKeepe安装路径的bin目录下。注意,如果你的操作系统是64位的,则复制prunmgr.exe和amd64目录下的prunsrv.exe。
在根目录下创建三个脚本文件:
创建服务安装脚本:zkServiceInstall.bat,并将下列代码复制进去(注意!一定要把编码格式改成ANSI,不然会报错)
@echo off
REM #
REM # 说明:在Windows系统中安装ZooKeeper服务,实现以服务的方式启动ZooKeeper
REM # 注意:此脚本必须拷贝到ZooKeeper的根目录,否则运行报错
REM # ZK_HOME: ZooKeeper安装目录
REM # ZK_DATA_DIR: ZooKeeper数据目录
REM # ZK_SERVICE_NAME: ZooKeeper服务名
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%\zkServiceStop.bat ^
--StopMode=exe ^
--StopTimeout=5 ^
--LogPath=%ZK_LOG_DIR% ^
--LogPrefix=zookeeper-wrapper ^
--PidFile=zookeeper.pid ^
--LogLevel=Info ^
--StdOutput=auto ^
--StdError=auto
pause
创建服务卸载脚本:zkServiceRemove.bat,并将下列代码复制进去
@echo off
REM #
REM # 说明:卸载ZooKeeper的Windows服务
REM # 注意:此脚本必须拷贝到ZooKeeper的根目录,否则运行报错
REM #
CD /d %~dp0
%CD%\bin\prunsrv.exe //DS//ZooKeeper
pause
创建服务停止脚本:zkServiceStop.bat,并将下列代码复制进去
@echo off
REM #
REM # 说明:以杀进程的方式停止ZooKeeper服务
REM # 注意:此脚本必须拷贝到ZooKeeper的根目录,否则运行报错
REM #
setlocal
CD /d %~dp0
:: 以杀进程的方式停止ZooKeeper服务
SET /p zkPID=<%CD%\log\zookeeper.pid
taskkill /PID %zkPID% /T /F
endlocal
pause
创建结束后,以管理员的身份运行zkServiceInstall.bat
运行成功后,以开启任务管理器,开启zookeeper服务即可。
最后再次通过zkCli.cmd测试即可
测试成功。
到此,zookeeper的安装和测试就全部完成了。