20、本地编译zookeeper源码、eclipse导入zookeeper源码

本文详细记录了如何在本地编译Zookeeper源码,从在GitHub上fork项目,设置Apache Ant环境,解决HTTP与JDK版本问题,到成功导入Eclipse并解决项目报错的过程。同时,文中提到了运行Zookeeper时遇到的JDK版本与Jetty不匹配的问题,以及如何配置日志和运行ZooKeeper服务端和客户端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

心血来潮,想看看zookeeper源码

学习一下人家怎么编译  https://www.jianshu.com/p/7ee757d6a08a   

http://zookeeper.apache.org/    【官网】

https://cwiki.apache.org/confluence/display/ZOOKEEPER/UsingEclipse    【confluence教程】

1、从github  fork到自己的git上  https://github.com/gemeiren/zookeeper

2、本地的机器环境  JDK7   apache-ant-1.9.13

https://ant.apache.org/bindownload.cgi    


3、

  • 使用:ant eclipse命令   编译报错,https://blog.youkuaiyun.com/nysyxxg/article/details/78503412
  • 本地的解决方案是 直接将下载依赖文件的 https协议改为http
  • build.xml    、   ivysettings.xml
  • 依赖下载没问题,但是JDK编译报错,修改JDK版本。【build.xml 



4、最后成功


5、导入eclipse



6、项目报错 注意用JDK7 编译、本地的jre是7等



7、最后项目无报错了。

8、提交代码到自己的git上。。。。

9、运行本的zookeeper时,发现JDK版本跟jetty的对不上。【https://blog.youkuaiyun.com/freegf/article/details/47004347】

所以一开始就应该用jdk8来编译。如今只能在eclipse改为JDK8的JRE、编译

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0


10、org.apache.zookeeper.server.ZooKeeperServerMain    运行时发现控制台没打印日记配置了一下绝对路径【http://fanrey.iteye.com/blog/1683137】



11、运行服务端: /ZooKeeper/src/java/main/org/apache/zookeeper/server/ZooKeeperServerMain.java

配置:D:\\Developer\\CODE\\dubbo_20180624\\zoo.cfg

-Dlog4j.configuration=file:/D:/Developer/CODE/dubbo_20180624/zookeeper/conf/log4j.properties

运行 客户端: /ZooKeeper/src/java/main/org/apache/zookeeper/ZooKeeperMain.java 

配置:-server 127.0.0.1:2181 get /root

-Dlog4j.configuration=file:/D:/Developer/CODE/dubbo_20180624/zookeeper/conf/log4j.properties





12、随便找一篇zk的介绍看看【领导者选举算法、cap理论只满足cp而已,因为leader挂了要选举,此时服务不可用】

http://zookeeper.apache.org/doc/r3.4.12/zookeeperInternals.html

13、https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zab+vs.+Paxos

两个协议不一样的地方,主要是  Zab 是主备【增量,有序的,简单理解:只有一个master更新节点并同步给其他节点,具有强一致性】,Paxos是 状态机【每个节点数据都是全量的、并且有可能是无序的最终一致性




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值