千家信息网

Zookeeper环境的搭建过程

发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,本篇内容介绍了"Zookeeper环境的搭建过程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、背
千家信息网最后更新 2025年01月30日Zookeeper环境的搭建过程

本篇内容介绍了"Zookeeper环境的搭建过程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、背景

个人习惯看源码的时候先编译成功并运行再开始看,现在大多数源码都是maven管理的,直接导入就行了,zookeeper由于年代比较久远,依赖管理还是用的Apache Ant,所以这里专门记录一下。

本文环境基于Windows10 1903 + Ant 1.10.6 + IDEA 2019.2

截止到本文写完,zookeeper的3.5.5和3.4.14版本已经有了pom.xml,但是编译的时候总是报org.apache.zookeeper.data不存在,使用ant编译之后发现这个包是在zookeeper-jute/target目录下,暂时不知道是啥情况,有懂的朋友可以留言一下:metal:

二、环境搭建

2.1 下载源码

从 https://github.com/apache/zookeeper/releases 下载你想要的版本源码并解压,这里下载的是3.4.14

2.2 安装Apache Ant

  1. 从 https://ant.apache.org/bindownload.cgi 下载ant发布包并解压,假设解压后的目录为D:\apache-ant-1.10.6

  2. 添加一个新的环境变量ANT_HOME=D:\apache-ant-1.10.6;在环境变量PATH中添加一条%ANT_HOME%\bin

  3. 打开cmd,运行ant -v查看是否配置成功

2.3 编译源码

打开cmd,进入解压后的zookeeper目录,运行ant eclipse将项目编译并转成eclipse的项目结构(因为IDEA不能识别ant项目,但是可以识别eclipse项目),然后等一段时间,我这边花了大概10分钟

2.4 导入源码

打开IDEA,选择导入eclipse项目,然后一路next即可

2.5 运行zookeeper

  1. 搜索QuorumPeerMain这个类,点击左侧的绿色三角运行一次

    默认运行前会build一下,这里编译会报错

    进入org.apache.zookeeper.Version这个类,看到一片红

    查了一下,这应该是zookeeper用来发布的时候生成版本用的,我们又不发布版本所以直接写死就行了

    修改完的代码如下

    public class Version  {    /*     * Since the SVN to Git port this field doesn't return the revision anymore     * TODO: remove this method and associated field declaration in VerGen     * @see {@link #getHashRevision()}     * @return the default value -1     */    @Deprecated    public static int getRevision() {        return -1;    }    public static String getRevisionHash() {        return "1";    }    public static String getBuildDate() {        return "2019-08-11";    }    public static String getVersion() {        return "3.4.14";    }    public static String getVersionRevision() {        return getVersion() + "-" + getRevisionHash();    }    public static String getFullVersion() {        return getVersionRevision() + ", built on " + getBuildDate();    }    public static void printUsage() {        System.out                .print("Usage:\tjava -cp ... org.apache.zookeeper.Version "                        + "[--full | --short | --revision],\n\tPrints --full version "                        + "info if no arg specified.");        System.exit(1);    }    /**     * Prints the current version, revision and build date to the standard out.     *      * @param args     *            
      *
    • --short - prints a short version string "1.2.3" *
    • --revision - prints a short version string with the SVN * repository revision "1.2.3-94" *
    • --full - prints the revision and the build date *
    */ public static void main(String[] args) { if (args.length > 1) { printUsage(); } if (args.length == 0 || (args.length == 1 && args[0].equals("--full"))) { System.out.println(getFullVersion()); System.exit(0); } if (args[0].equals("--short")) System.out.println(getVersion()); else if (args[0].equals("--revision")) System.out.println(getVersionRevision()); else printUsage(); System.exit(0); }}


    然后如果你再次运行,还是会报错,但是不重要,运行完之后上边会出现对应的配置项,进入修改

  2. 在命令行参数里指定配置文件的位置

  3. 进入conf目录,复制zoo_sample.cfg,重命名为zoo.cfg,根据自己需要进行修改,也可以不改

  4. 复制log4j.properties到zookeeper-server目录下

  5. 然后再次运行,就能看到熟悉的控制台启动界面了

"Zookeeper环境的搭建过程"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0