ToB企服应用市场:ToB评测及商务社交产业平台

标题: zookeeper源码(02)源码编译启动及idea导入 [打印本页]

作者: 张春    时间: 2023-11-14 19:23
标题: zookeeper源码(02)源码编译启动及idea导入
本文介绍一下zookeeper-3.9.0源码下载、编译及本地启动。
下载源码
  1. git clone https://gitee.com/apache/zookeeper.git
  2. cd zookeeper
  3. git checkout release-3.9.0
  4. git checkout -b release-3.9.0
复制代码
源码编译

README_packaging.md文件

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

maven编译
  1. mvn clean install -DskipTests
复制代码
zookeeper-assembly/target/apache-zookeeper-3.9.0-bin.tar.gz 包目录结构:
构建C客户端

To also build the C client, you need to activate the full-build profile:
  1. mvn clean -Pfull-build
  2. mvn install -Pfull-build -DskipTests
复制代码
需要在linux平台编译,windows平台会出错。
java命令启动zookeeper

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

进入zookeeper-server/target目录:
  1. $ ll
  2. drwxr-xr-x 1 xuguofeng 197121       0 Aug 16 00:14 lib/
  3. -rw-r--r-- 1 xuguofeng 197121 1359096 Aug 16 00:14 zookeeper-3.9.0.jar
复制代码
创建zoo.cfg配置文件

在zookeeper-server/target下创建conf目录,创建zoo.cfg配置文件:
  1. tickTime=2000
  2. initLimit=10
  3. syncLimit=5
  4. dataDir=data
  5. clientPort=2181
复制代码
创建logs目录

启动zookeeper服务
  1. java \
  2. -Dzookeeper.datadir.autocreate=true \
  3. -Dzookeeper.log.dir=./logs \
  4. -Dzookeeper.log.file=zookeeper.log \
  5. -XX:+HeapDumpOnOutOfMemoryError \
  6. -Xmx1000m -Xms1000m \
  7. -cp zookeeper-3.9.0.jar;./lib/*;./conf \
  8. org.apache.zookeeper.server.quorum.QuorumPeerMain ./conf/zoo.cfg
复制代码
如果是linux平台,则使用如下命令:
  1. nohup java \
  2. -Dzookeeper.datadir.autocreate=true \
  3. -Dzookeeper.log.dir=./logs \
  4. -Dzookeeper.log.file=zookeeper.log \
  5. -XX:+HeapDumpOnOutOfMemoryError \
  6. -XX:OnOutOfMemoryError='kill -9 %p' \
  7. -Xmx1000m -Xms1000m \
  8. -Djava.ext.dirs=${JAVA_HOME}/jre/lib/ext:./lib \
  9. -cp ./conf:zookeeper-3.9.0.jar \
  10. org.apache.zookeeper.server.quorum.QuorumPeerMain ./conf/zoo.cfg > ./logs/zookeeper.out 2>&1 < /dev/null &
复制代码
启动zookeeper客户端
  1. java \
  2. -Dzookeeper.datadir.autocreate=true \
  3. -Dzookeeper.log.dir=./logs \
  4. -Dzookeeper.log.file=zookeeper.log \
  5. -Dzookeeper.log.threshold=INFO \
  6. -Xmx256m -Xms256m \
  7. -cp zookeeper-3.9.0.jar;./lib/*;./conf \
  8. org.apache.zookeeper.ZooKeeperMain
复制代码
在idea中启动

参数配置


配置说明

在工作目录下创建tmp/conf目录:
VM Option:
  1. -Dzookeeper.datadir.autocreate=true -Dzookeeper.log.dir=./tmp/logs -Dzookeeper.log.file=zookeeper.log -Xmx1000m -Xms1000m
复制代码
Program Arguments:
  1. ./tmp/conf/zoo.cfg
复制代码
把./tmp/conf目录添加到classpath中。
类找不到问题

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4