准备工作
下载jdk,
下载zk:https://zookeeper.apache.org/releases.html
修改配置
在conf目录中,重命名zoo_sample.cfg为zoo.cfg,设置配置项:
dataDir:数据存放目录;
clientPort:监听客户端连接的端口;
server.A=B:C:D:集群节点信息,
A:其中 A 是一个数字,表示这个是服务器的编号;
B:是这个服务器的 ip 地址;
C:Leader选举的端口;
D:Zookeeper服务器之间的通信端口。
创建myid文件
在 上一步 dataDir 指定的目录下,创建 myid 文件,文件内容就是server.server.A=B:C:D配置中A的值。
日志配置
日志配置文件是conf\log4j.properties。其中zookeeper.root.logger=INFO,CONSOLE,该配置只能将日志打印到控制台,要想打印到文件中,需要改为zookeeper.root.logger=INFO,CONSOLE,ROLLINGFILE。zookeeper.log.dir配置日志目录,zookeeper.log.file配置日志文件名称。
windows下zkServer.cmd中,要把启动命令的日志相关属性去掉:
原命令为:
call %JAVA% "-Dzookeeper.log.dir=%ZOO_LOG_DIR%" "-Dzookeeper.root.logger=%ZOO_LOG4J_PROP%" "-Dzookeeper.log.file=%ZOO_LOG_FILE%" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
改为:
call %JAVA% "-XX:+HeapDumpOnOutOfMemoryError" "-XX:OnOutOfMemoryError=cmd /c taskkill /pid %%%%p /t /f" -cp "%CLASSPATH%" %ZOOMAIN% "%ZOOCFG%" %*
启动zk
windows下直接运行zkServer.cmd。
linux下运行zkServer.sh start。