首页 > 编程语言 >zookeeper源码(02)源码编译启动及idea导入

zookeeper源码(02)源码编译启动及idea导入

时间:2023-10-23 11:00:27浏览次数:41  
标签:02 log zookeeper 源码 conf Dzookeeper 3.9

本文介绍一下zookeeper-3.9.0源码下载、编译及本地启动。

下载源码

git clone https://gitee.com/apache/zookeeper.git

cd zookeeper
git checkout release-3.9.0
git checkout -b release-3.9.0

源码编译

README_packaging.md文件

该文件介绍了编译zookeeper需要的环境和命令。

编译环境

  • java-1.8.0_102
  • maven-3.3.9

maven编译

mvn clean install -DskipTests

zookeeper-assembly/target/apache-zookeeper-3.9.0-bin.tar.gz 包目录结构:

  • /bin - 可执行文件及脚本
  • /conf - 配置文件
  • /lib - zookeeper包及依赖的包
  • /docs - 文档

构建C客户端

To also build the C client, you need to activate the full-build profile:

mvn clean -Pfull-build
mvn install -Pfull-build -DskipTests

需要在linux平台编译,windows平台会出错。

java命令启动zookeeper

发布包的启动方式在上一篇文章已经介绍,此处介绍一下使用java命令启动zookeeper服务。

zookeeper-server/target目录

进入zookeeper-server/target目录:

$ ll
drwxr-xr-x 1 xuguofeng 197121       0 Aug 16 00:14 lib/
-rw-r--r-- 1 xuguofeng 197121 1359096 Aug 16 00:14 zookeeper-3.9.0.jar
  • lib - 依赖jar
  • zookeeper-3.9.0.jar - 包含了zookeeper的类

创建zoo.cfg配置文件

在zookeeper-server/target下创建conf目录,创建zoo.cfg配置文件:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=data
clientPort=2181

创建logs目录

启动zookeeper服务

java \
-Dzookeeper.datadir.autocreate=true \
-Dzookeeper.log.dir=./logs \
-Dzookeeper.log.file=zookeeper.log \
-XX:+HeapDumpOnOutOfMemoryError \
-Xmx1000m -Xms1000m \
-cp zookeeper-3.9.0.jar;./lib/*;./conf \
org.apache.zookeeper.server.quorum.QuorumPeerMain ./conf/zoo.cfg

如果是linux平台,则使用如下命令:

nohup java \
-Dzookeeper.datadir.autocreate=true \
-Dzookeeper.log.dir=./logs \
-Dzookeeper.log.file=zookeeper.log \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:OnOutOfMemoryError='kill -9 %p' \
-Xmx1000m -Xms1000m \
-Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:./lib \
-cp ./conf:zookeeper-3.9.0.jar \
org.apache.zookeeper.server.quorum.QuorumPeerMain ./conf/zoo.cfg > ./logs/zookeeper.out 2>&1 < /dev/null &

启动zookeeper客户端

java \
-Dzookeeper.datadir.autocreate=true \
-Dzookeeper.log.dir=./logs \
-Dzookeeper.log.file=zookeeper.log \
-Dzookeeper.log.threshold=INFO \
-Xmx256m -Xms256m \
-cp zookeeper-3.9.0.jar;./lib/*;./conf \
org.apache.zookeeper.ZooKeeperMain

在idea中启动

参数配置

配置说明

在工作目录下创建tmp/conf目录:

  • 把conf/logback.xml拷贝到tmp/conf目录下

  • 在tmp/conf目录下创建zoo.cfg配置文件

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=./tmp/data
    clientPort=2181
    

VM Option:

-Dzookeeper.datadir.autocreate=true -Dzookeeper.log.dir=./tmp/logs -Dzookeeper.log.file=zookeeper.log -Xmx1000m -Xms1000m

Program Arguments:

./tmp/conf/zoo.cfg

把./tmp/conf目录添加到classpath中。

类找不到问题

如果直接启动,可能出现类找不到的问题,在pom.xml中找到对应的依赖,将provided注释掉即可。

标签:02,log,zookeeper,源码,conf,Dzookeeper,3.9
From: https://www.cnblogs.com/xugf/p/17781877.html

相关文章

  • 「Temp」CSP-S 2023 JL 迷惑代码大赏
    (欢迎投稿。)在\(213\)份代码中共查找到\(21\)个//freopen,来自JL-S00031、JL-S00045、JL-S00047、JL-S00085、JL-S00123、JL-S00150、JL-S00157、JL-S00167八位选手。查找到\(15\)份114514。查找到\(10\)份.ans。《虚空索敌人》JL-S00089最离谱的是他w和r写反了......
  • 医院绩效考核系统源码 项目源码
    医院综合绩效核算系统源码医院绩效考核系统以医院的发展战略为导向,把科室、员工的绩效考核跟战略发展目标紧密结合,引导医院各个科室、各员工的工作目标跟医院的发展目标结合在一起,实现医院的优化发展。系统提供灵活的绩效考评体系配置方案,支持不同科室、不同人员的考评方案,并能够快......
  • CSP-S 2023游记
    CSP-S2023游记Day-1考前一天集训。快下课的时候全机房一起用SPFA写全源最短路,然后我一个手残在SLF的时候写了一个dis[q.front()]<dis[v]而我的dis是一个二维数组,然后就变成了比较地址,竟然还把最卡我们的那个点跑过去了,神秘。Day0没啥事干,父亲大人上班没把电脑带回......
  • 实验二_OOP_张文瑞_202213260018
    1、实验一 程序源码:#include<iostream>#include<cmath>classComplex{private:doublereal,imag;public:Complex(doubler=0,doublei=0):real{r},imag{i}{};Complex(constComplex&c):real{c.real},im......
  • CSP-S 2023复赛游记
    Day-?得知了自己初赛的分,58分,不算很高,但是能进复赛了,感觉有点低落,毕竟有点低。然后想了想又不低落了,至少19年我因为只报了普及没得考(不过就算报了初赛过了也可能连格雷码都做不出来)。Day-2大家决定举办手速杯,这是好的。但是赛题是LCT板子,这是坏的。然后就和猫和bot协......
  • 2023 CSP-J/S 第二轮游记
    是少见的两场都参加的蒟蒻捏~( ̄▽ ̄)~*10.20比赛前一天,上午最后一节课跑完速耐之后吃不下一点饭,去小卖部买了瓶喝的就直接去机房了。和wwm_大佬讨论了一会儿吃饭的事,估计是我说我中午没吃饭的事被教练听到了,教练到机房之后直接问我是不是没吃饭然后塞给了我一个面包和一个橘子(......
  • 2023年秦皇岛CCPC赛后总结zzh
    g题签到,看了一下题意,直接a了。接着一起看j去了,j题读了下题,感觉是一个板子题,但那个类型的题好久没写了,带的板子上也没有,我在想的时候,lhy说想打个暴力试试,结果暴力就直接过了。。。接着是a,构造题,喔一开始想了个循环结,感觉没错误,wa了几发后突然发现这个做法错的很离谱,罚时爆炸。最后z......
  • 2023.10.18
    第18节:调试这一节强调了调试的重要性以及一些有关调试的心理学和技巧。1.调试的目标是解决问题,而不是对问题提出攻击性的反应。遇到bug时,应以解决问题为导向,而不是责怪他人或自己。2.当你目睹bug的发生或看到bug报告时,不要急于表示“那不可能”。首要任务是思考为什么......
  • 2023.10.19
    1.0版本生成四则运算并存入数据库importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOE......
  • 2023.10.20
    四则运算2.0失败版本server.port=8080spring.datasource.url=jdbc:h2:mem:testedspring.datasource.driverClassName=org.h2.Driverspring.datasource.username=saspring.datasource.password=passwordspring.jpa.hibernate.ddl-auto=updatepackagecom.example.mathquiz;//替换......