最近学习zookeeper,单机安装了3.4.10版,基本功能通过自带客户端运行正常。下载curator学习编程,结果遇到几个问题,记录并分享。
1、下载curator4.0.1源代码,在eclipse中通过maven编译成功。运行自带例字PathCache也成功,于是将测试中的TestServer去掉,连接自己安装的zookeeper服务器,意外发生,每次运行都是TestServer版,奇怪了。
在网上查看相关问题,也没有解决。经查找运行代码,结果在target/classes目录下也有class文件,删除之后,产生不能加载类的问题,将eclipse的build path 的out path改为target/classes目录,运行,是修改过的代码。说明eclipse编译运行,与maven管理机制结合的不完美。
2、运行修改过的pathcache代码,添加节点数据出现java.lang.NoSuchMethodError: org.apache.zookeeper.server.quorum.flexible.QuorumMaj.<init>(Ljava/util/Map;)V错误。
在网上查看相关问题,是curator和zookeeper的版本不匹配的问题。调整样例依赖的zookeeper jar包为3.4.10,运行成功。