1、github下载zookeeper,并解压。zookeeper版本是3.7.0
zookeeper.git
我的解压目录是:D:\idea-workspace\zookeeper\zookeeper-master
2、IDEA打开
File---Open
3、添加启动类
org.apache.zookeeper.server.quorum.QuorumPeerMain
image.png
启动类QuorumPeerMain运行
报错处理
1、Apache Zookeeper - Jute项目执行编译compile
image.png
2、Apache Zookeeper - Server 项目执行编译compile
image.png
3、添加启动类配置文件zoo_sample.cfg
D:\idea-workspace\zookeeper\zookeeper-vip2\conf\zoo_sample.cfg
可以复制一份更改为zoo.cfg(D:\idea-workspace\zookeeper\zookeeper-vip2\conf\zoo.cfg)
image.png
4、修改配置文件dataDir数据存储目录
在window下,需要指定D:或其他盘
zoo.png
5、Apache Zookeeper - Server 项目依赖包的scope问题
image.png
注释掉scope
image.png
6、日志数量较少
image.png
把conf目录下的log4j.properties文件复制到zookeeper-server项目的resources目录
image.png
更改zookeeper-server项目的resources目录是resources root
image.png
7、Apache Zookeeper - Server 项目依赖包的scope问题
日志已经比较多啦,但是包SnappyInputStream找不到类
image.png
注释掉org.xerial.snappy的scope,然后刷新依赖
image.png
java.lang.NoClassDefFoundError: org/eclipse/jetty/server/HttpConfiguration$Customizer
image.png
org.eclipse.jetty
image.png
此时服务端启动正常
客户端配置
客户端有两种:ZooKeeperMain启动类、zkCli.cmd点击运行
1、IDEA配置ZooKeeperMain启动
org.apache.zookeeper.ZooKeeperMain
image.png
启动报错:Caused by: java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException
image.png
zookeeper-server的pom.xml依赖修改,注释掉scope
image.png
启动正常
image.png
2、客户端启动也可以通过zkCli.cmd启动
不添加pause会闪退,此时看到无法加载org.apache.zookeeper.ZooKeeperMain类
解决方法:为项目添加lib包
zookeeper的lib包下载
添加lib包,解压后放到D:\idea-workspace\zookeeper\zookeeper-master(这是我的项目目录)目录下
image.png
image.png
启动类的配置参数的cfg文件名称相同(可选,如果没报错可以不修改)
image.png
网友评论