Zookeeper-3.4.14 Idea 源码安装与运行 Win10手把手教程

本文提供Zookeeper源码编译的详细步骤,包括Ant构建、IDEA导入及常见错误解决方法,助您顺利搭建调试环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

  1. 本文是笔者搭建zookeeper源码的详细步骤以及遇到个各种坑的解决办法,希望对后人有帮助,阅读前首先你需要去官网下载zookeeper-3.4.14.tar.gz,当然你也可以去git上下载源码zookeeper-git-branch-3.4.14.zip,笔者建议去官网下载,因为官网上的tar包不仅包含源码,也包含运行时jar包使用起来更方便。
  2. 观看本文前确定自己已经正确安装了Apache Ant,如果没有或者不知道,请移步我的文章Windows10 apache-ant-1.10.8 安装和环境变量配置 后再来。
  3. 使用前请配置好zk的zoo.cfg文件,保证裸机能够运行,不知道裸机运行怎么整的,参考我的文章Zookeeper-3.4.14 Win10 裸机运行(不包含命令) 教程
  4. 本篇也会被收录到【Zookeeper 源码解读系列目录】中。

运行Ant构造eclipse源码编译环境

下载后解压,进入解压包目录如下,地址栏cmd进去
在这里插入图片描述
输入ant eclipse等待程序解析,运行完毕,这里ant会构建一个项目所需要的所有的jar包和环境。
在这里插入图片描述
运行成功以后会有success字样如下
在这里插入图片描述
如果运行失败,99%是你网络有问题,换个网络安装,或者去找一个已经运行成功的机器把c:\user\xxx\ .ant盘中所有内容拷贝到你的c:\user\xxx\目录下,如果上面两个办法都有困难,为了节省大家的时间,右上点"X"不用再往下读了。
在这里插入图片描述

导入Idea

我们现在可以导入idea了,打开idea,File->New->Project from existing source
在这里插入图片描述
找到你解析后的源码包
在这里插入图片描述
选择eclipse导入next
在这里插入图片描述
选择项目workspace,这里默认也行,自己想找个新的地址也行,看个人爱好。
在这里插入图片描述
选择你要使用的jdk,这个一般就是本机安装的jdk,除非有想法否则略过。
在这里插入图片描述
这里我们就导入完成了,很多网上的教程也就止步于此,显然咱不能和那些管杀不管埋的妖艳贱货们一样坑,我们要验证下可不可用。

验证安装是否成功

首先我们得看下项目里有没有成功引用ant给我们下载的包,往下打开External Libraries看到我这里除了JDK以外还有引用.ant下的包,说明安装到目前为止是没有问题的,如果没有再回去执行ant eclipse重复一下上述步骤,直到看到这些引用为止,没有这些必须引用的包会报错没办法运行。在这里插入图片描述

上面没问题我们就要找到ZooKeeperServerMain这个类,这个类是Zk的启动类,这个文件在org/apache/zookeeper/server/下,就是下图这里,是不是很贴心,文件夹里java文件很多翻到最下面。
在这里插入图片描述
我们打开找到main方法,右键运行,见证奇迹的时刻。
在这里插入图片描述
果然它就报错了,居然是个log报的错
在这里插入图片描述
这里报错,其实是因为zk没有找到log4j的配置文件导致的,那么我们把conf/log4j.properties这个文件copy到\zookeeper-server\src\main\resources文件夹里,此时还不能直接使用,因为你们会发现,我的resources是蓝的,你们的是灰的在这里插入图片描述
所以对着这个resources文件夹右键,找到Mark Directory as->Sources Root,这样log4j.properties文件就识别了
在这里插入图片描述
然后我们再来run一下
在这里插入图片描述
它果然就又报错了,这里报错是因为从来没有运行过zk,没有myid,知道原因就好办了,我们有两种方法

  1. 找到zoo.cfg里配置的目录,直接创建一个myid文件就可以了。
  2. 找到zk解压目录,运行\bin\zkServer.cmd和\bin\zkCli.cmd,让系统生成一个就好了。这里就看出来了,如果直接从github上下载源码,你是不能直接运行的,因为git上的源码是没有zookeeper-3.4.14.jar这个jar包的,没有这个是不能直接运行的。
  3. myid如下图,里面只有一个序列号,自己生成的话在zoo.cfg配置的文件夹里创建一个myid文件里面放一个“1”就可以了就可以了。
    在这里插入图片描述

我们接着运行它还是报一样的错误,说找不到这个myid,这是为什么呢?因为虽然我们给zk生成了myid但是Idea不知道啊,所以我们还得给Idea配置运行环境,找到配置运行环境
在这里插入图片描述
如下图,把你自己配置的zoo.cfg配置到idea中,apply然后ok,在运行看下
在这里插入图片描述
诶,这次就运行成功了,恭喜恭喜,然后你就可以用自己写的类或者自带客户端操作调试学习Zookeeper-3.4.14源码了。
在这里插入图片描述

附:如果报以下错误

1 . 如果你用的是3.4.13的原生包当然也许你会碰见这一堆静态字串无法识别的错误,比如 java: cannot find symbol
在这里插入图片描述
这是因为Zookeeper-3.4.13的git原生包是不带这些运行时字段的,可以按照下面的办法处理。
首先我们得有这么一个version的包,把它新建出来
在这里插入图片描述
在里面创建一个Info接口,把下面的代码粘贴进去,问题解决。
在这里插入图片描述

package org.apache.zookeeper.version;

public interface Info {//copy 这里的代码到你的info接口中
    int MAJOR=3;
    int MINOR=4;
    int MICRO=13;
    String QUALIFIER=null;
    int REVISION=-1; 
    String REVISION_HASH="${lastRevision}";
    String BUILD_DATE="05/25/2020 02:57 GMT";
}

2.如果碰见错误:Will not attempt to authenticate using SASL (unknow error)
在这里插入图片描述
找到ZooKeeperServerMain运行主类,运行
在这里插入图片描述
在最上方选择运行环境配置
在这里插入图片描述
配置自己的zoo.cfg
在这里插入图片描述

再次运行服务器主类,成功在这里插入图片描述
运行客户端主类,成功
在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值