天天看点

zookeeper源码_zookeeper源码解读之源码编译

一、编译前准备

1.下载zookeeper源码

git clone  clone -b branch-3.5.5 https://github.com/apache/zookeeper.git
           

2.下载Ant

# 1.下载Anthttps://downloads.apache.org/ant/binaries/apache-ant-1.10.8-bin.zip# 2.配置环境变量 # 2.1 新增用户变量ANT_HOME ,值为安装目录 # 2.2 将bin目录增加到系统变量Path中# 3.测试ant -version
           
zookeeper源码_zookeeper源码解读之源码编译
zookeeper源码_zookeeper源码解读之源码编译
  • 二、开始编译

1.进入zookeeper下载目录,启动cmd,输入编译命令

ant eclipse#等待编译成功
           

问题:编译时可能会 下载ant-eclipse-1.0.bin.tar.bz2失败

zookeeper源码_zookeeper源码解读之源码编译

解决方案:

将bulild.xml中的get src="[http://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2](https://link.jianshu.com/?t=http%3A%2F%2Fdownloads.sourceforge.net%2Fproject%2Fant-eclipse%2Fant-eclipse%2F1.0%2Fant-eclipse-1.0.bin.tar.bz2)"替换成如下地址get src="[http://ufpr.dl.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2](https://link.jianshu.com/?t=http%3A%2F%2Fufpr.dl.sourceforge.net%2Fproject%2Fant-eclipse%2Fant-eclipse%2F1.0%2Fant-eclipse-1.0.bin.tar.bz2)"
           
zookeeper源码_zookeeper源码解读之源码编译

编译成功

zookeeper源码_zookeeper源码解读之源码编译

2.将编译好的代码导入idea即可

  • 三、启动服务
  1. 编辑zoo.cfg文件
将conf/zoo_sample.cfg修改为zoo.cfg,并增加dataDir和dataDirLog参数配置
           
zookeeper源码_zookeeper源码解读之源码编译

2.启动org.apache.zookeeper.server.ZooKeeperServerMain

注意:这里启动的是单机版的服务端,从org.apache.zookeeper.server.quorum.QuorumPeerMain入口启动也是一样的
           
zookeeper源码_zookeeper源码解读之源码编译
注意:
1.记得要配置下log4j配置文件,否则会抛出Usage: ZooKeeperServerMain configfile | port datadir [ticktime] [maxcnxns]错误

-Dlog4j.configuration=file:D:\GitCode\zookeeper\zookeeper-release-3.5.5\zookeeper-server\src\test\resources\log4j.properties

2.指定zoo.cfg文件路径,否则会抛出java.lang.IllegalArgumentException: Invalid number of arguments:[]

zookeeper源码_zookeeper源码解读之源码编译
zookeeper源码_zookeeper源码解读之源码编译

●历史文章汇总

●最长回文字符串三种解法

●十分钟搞定分布式一致性算法

●一文教你如何玩转zookeeper

●zookeeper应用场景解决方案-Leader选

●实战:如何实时采集上亿级别数据?

●Kafka深度剖析HW以及LEO

●Livy REST 提交Spark作业

●Spark集成ElasticSearch

●Spark数据倾斜之骚操作解决方案

●一道简单的算法面试题

●Impala介绍以及常见问题

●ElasticSearch无感知重构索引●ElasticSearch分页搜索以及deep paging性能揭秘

●ElasticSearch 一个field索引两次解决排序问题

●ElasticSearch Partial Update大揭秘

●Hive常见问题汇总

zookeeper源码_zookeeper源码解读之源码编译

继续阅读