Zookeeper源码本地编译运行

Zookeeper源码本地编译运行

1、先下载Zookeeper源码。

github地址: https://github.com/apache/zookeeper
直接拉取master分支,当前的版本是3.6.1

2、使用IDEA打开刚下载的源码包

打开后等maven下载依赖:
在这里插入图片描述

3、从bin目录下查看zkServer.cmd,找到启动的mian方法。

我们可以看到,启动类是org.apache.zookeeper.server.quorum.QuorumPeerMain
在这里插入图片描述

4、配置debug的参数

先打开QuorumPeerMain类,Edit ‘QuorumPeerMain.main()’,对启动参数进行配置:
配置如下:
zoo.cfg从conf目录下拷贝zoo-sample.cfg修改名字就可以

vm options: -Dlog4j.configuration=file:conf\log4j.properties
Program arguments: conf/zoo.cfg 

在这里插入图片描述
配置完成后,还需要修改一些设置,否则启动报错
(1)删除Zookeeper-server模块中src下载的test包,测试类在1.8下会有些错误
在这里插入图片描述
(2)修改Zookeeper-server模块中pom.xml,对下面四个依赖注释掉 scope,否则会导致ClassNotFound错误;如果还有ClassNotFound,注释掉依赖的scope就可以。

<dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
<!--      <scope>provided</scope>-->
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-servlet</artifactId>
<!--      <scope>provided</scope>-->
    </dependency>
<dependency>
       <groupId>io.dropwizard.metrics</groupId>
       <artifactId>metrics-core</artifactId>
<!--       <scope>provided</scope>-->
    </dependency>
    <dependency>
      <groupId>org.xerial.snappy</groupId>
      <artifactId>snappy-java</artifactId>
<!--      <scope>provided</scope>-->
    </dependency>
5、启动QuorumPeerMain.main()的Debug就可以启动ZookeeperServer:

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值