美文网首页Zookeeper
zookeeper源码编译

zookeeper源码编译

作者: loveFXX | 来源:发表于2020-04-28 11:49 被阅读0次

    1、github下载zookeeper,并解压。zookeeper版本是3.7.0
    zookeeper.git
    我的解压目录是:D:\idea-workspace\zookeeper\zookeeper-master
    2、IDEA打开
    File---Open

    image.png
    3、添加启动类
    org.apache.zookeeper.server.quorum.QuorumPeerMain
    image.png
    启动类QuorumPeerMain运行

    报错处理
    1、Apache Zookeeper - Jute项目执行编译compile


    image.png

    2、Apache Zookeeper - Server 项目执行编译compile


    image.png
    3、添加启动类配置文件zoo_sample.cfg
    D:\idea-workspace\zookeeper\zookeeper-vip2\conf\zoo_sample.cfg
    可以复制一份更改为zoo.cfg(D:\idea-workspace\zookeeper\zookeeper-vip2\conf\zoo.cfg)
    image.png

    4、修改配置文件dataDir数据存储目录
    在window下,需要指定D:或其他盘


    zoo.png
    5、Apache Zookeeper - Server 项目依赖包的scope问题
    image.png
    注释掉scope
    image.png
    6、日志数量较少
    image.png
    把conf目录下的log4j.properties文件复制到zookeeper-server项目的resources目录
    image.png
    更改zookeeper-server项目的resources目录是resources root
    image.png

    7、Apache Zookeeper - Server 项目依赖包的scope问题
    日志已经比较多啦,但是包SnappyInputStream找不到类


    image.png
    注释掉org.xerial.snappy的scope,然后刷新依赖
    image.png
    java.lang.NoClassDefFoundError: org/eclipse/jetty/server/HttpConfiguration$Customizer
    image.png
    org.eclipse.jetty
    image.png
    此时服务端启动正常

    客户端配置

    客户端有两种:ZooKeeperMain启动类、zkCli.cmd点击运行

    1、IDEA配置ZooKeeperMain启动

    org.apache.zookeeper.ZooKeeperMain


    image.png

    启动报错:Caused by: java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException


    image.png
    zookeeper-server的pom.xml依赖修改,注释掉scope
    image.png

    启动正常


    image.png
    2、客户端启动也可以通过zkCli.cmd启动

    不添加pause会闪退,此时看到无法加载org.apache.zookeeper.ZooKeeperMain类

    image.png
    解决方法:为项目添加lib包
    zookeeper的lib包下载
    添加lib包,解压后放到D:\idea-workspace\zookeeper\zookeeper-master(这是我的项目目录)目录下
    image.png
    image.png
    启动类的配置参数的cfg文件名称相同(可选,如果没报错可以不修改)
    image.png

    相关文章

      网友评论

        本文标题:zookeeper源码编译

        本文链接:https://www.haomeiwen.com/subject/cvfvwhtx.html