准備:
安裝配置
設置JAVA_HOME環境變量(配置好后,== 注銷電腦生效 ==):
以管理員身份運行:
wmic environment create name="JAVA_HOME",username="<system>",VariableValue="C:\Program Files\Java\jdk1.8.0_131"
配置
1 conf目錄下 copy zoo_sample.cfg zoo.cfg 並修改配置
其他可默認,主要修改一下配置即可 ` dataDir=G:\\Software\Architect\zookeeper-3.5.3-beta\data `
2 集群配置
```
initLimit=5
syncLimit=2
server.1=192.168.211.1:2888:3888
server.2=192.168.211.2:2888:3888
```
測試
1 雙擊啟動bin目錄(zookeeper-3.5.3-beta)的zkServer.cmd批處理
2 查看端口是否正常:` netstat -aon | findstr 2181 `
監控zookeeper軟件之zk ui部署:
編譯zkui:
(懶人可自取編譯好的資源zkui-2.0)
cd /d G:\Software\Architect\zkui-master
mvn clean install
將config.cfg拷貝到jar同目錄下,並修改配置
cd /d G:\Software\Architect\zkui-master\target
copy ..\config.cfg .\
#Server Port
serverPort=9090
#Comma seperated list of all the zookeeper servers
zkServer=10.0.0.7:2181
#可調節連接zookeeper的超時時間
#zkSessionTimeout=20
啟動zkui
java -jar zkui-2.0-SNAPSHOT-jar-with-dependencies.jar
制作成批處理zkuiStart.cmd
cd /d %~dp0
java -jar zkui-2.0-SNAPSHOT-jar-with-dependencies.jar
登錄 測試
username: admin, pwd: manager
zookeeper未啟動時,會報錯誤如下:
KeeperErrorCode = ConnectionLoss for /
將zookeeper做成windows服務
下載prunsrv
以管理員身份運行批處理(設置ZOOKEEPER_SERVICE,ZOOKEEPER_HOME環境變量):
wmic environment create name="ZOOKEEPER_SERVICE",username="<system>",VariableValue="zookeeperService"
wmic environment create name='ZOOKEEPER_HOME',username="<system>",VariableValue="G:\Software\Architect\zookeeper-3.5.3-beta"
拷貝文件
64位機器用amd64/prunsrv.exe
a. 復制 commons-daemon-1.0.15-bin-windows/amd64/prunsrv.exe 至 zookeeper\bin目錄下
這是做服務的執行程序
b. 復制 commons-daemon-1.0.15-bin-windows/prunmgr.exe 至 zookeeper\bin目錄下
install.bat安裝腳本(放於zookeeper 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
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
== 特別的JAVA_HOME一定要設置為系統變量,否則會報JAVA_HOME未設置 ==