Rubin's Blog

  • 首页
  • 关于作者
  • 隐私政策
享受恬静与美好~~~
分享生活的点点滴滴~~~
  1. 首页
  2. ZooKeeper
  3. 正文

ZooKeeper之源码环境搭建

2021年 9月 24日 551点热度 0人点赞 0条评论

安装ant

由于ZooKeeper早期稳定版本都是使用ant来管理的,所以我们在搭建源码环境之前需要首先安装ant。ant在官网上下载很慢,附件中提供了编译好的压缩包版本。

下载下来压缩包之后,复制到我们的工作目录并解压。然后配置环境变量:计算机->属性->高级系统设置->环境变量->在系统变量(S)的Path属性处点击编辑,如图:

将我们ant目录的bin目录添加到path属性中:

打开命令行窗口,使用ant -version命令查看是否添加成功:

搭建源码环境

下载源码并编译

我们以ZooKeeper的release-3.5.4版本为例。在github或者附件中下载对应版本的源码。解压之后进入源码,先编辑build.xml,修改其中心仓库:

<get src="http://ufpr.dl.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"
 dest="${src.dir}/java/ant-eclipse-1.0.bin.tar.bz2" usetimestamp="false" />

修改好之后保存退出,在命令行窗口进入到源码文件夹执行ant eclipse编译项目。编译好之后直接使用IDEA的File->Open打开项目。

配置编译环境

首先我们需要配置环境的JDK:

配制好之后,将源码中根目录下的build文件夹下的两个lib文件夹作为依赖引入到项目中:

保存之后,我们需要处理一下Version这个类的依赖。我们新建一个Application:

上图中需要注意:运行参数是三个(项目版本号,项目reversion的hash值,创建时间),用空格隔开;后面的Before launch什么都不要选。弄好之后我们重新编译一下该类并运行:

运行之后在项目的根目录会有一个org/apache/zookeeper/version/Info.java的文件生成。将其复制到源码的对应的文件夹下面:

至此,我们的源码就配置好了。

运行服务和客户端

我们在运行服务端之前,首先在项目的根目录创建一个data文件夹,并复制项目根目录conf/zoo_sample.cfg文件为conf/zoo.cfg并修改其内容:

注意:dataDir的目录地址一定要按照图中格式填写,否则就使用默认值。端口号根据情况修改就行。

修改完之后,我们新建一个Application命名为zkServer,如图:

主类我们选择org.apache.zookeeper.server.quorum.QuorumPeerMain。

虚拟机参数我们设置一下log4j配置文件的地址:

-Dlog4j.configuration=file:E:\rubin\projects\self\zookeeper\conf\log4j.properties

程序运行参数我们填写我们的zoo.cfg的全路径就行。配制好之后保存运行,看到编译无报错,输出以下日志表示启动成功:

客户端同样新建一个名字为zkClient的Application,配置如图所示:

主类选择:org.apache.zookeeper.ZooKeeperMain。

虚拟机参数和服务端一致。

运行参数的意思是连接的服务器地址,连接之后执行get /rubin操作,即查看/rubin节点的信息。参数文案如下:

-server 127.0.0.1:2181 get /rubin

保存运行,编译无报错,正常输出以下日志表示我们的客户端启动成功:

至此,我们的ZooKeeper源码环境就搭建完成了。欢迎留言交流~~~

附件

apache-ant-1.9.6下载
zookeeper-origin下载
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: ZooKeeper
最后更新:2022年 6月 9日

RubinChu

一个快乐的小逗比~~~

打赏 点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 安装ant
  • 搭建源码环境
    • 下载源码并编译
    • 配置编译环境
    • 运行服务和客户端
  • 附件
最新 热点 随机
最新 热点 随机
问题记录之Chrome设置屏蔽Https禁止调用Http行为 问题记录之Mac设置软链接 问题记录之JDK8连接MySQL数据库失败 面试系列之自我介绍 面试总结 算法思维
RabbitMQ之高级特性解析 MySQL之Sharding-JDBC强制路由 java并发编程之ForkJoinPool Kafka高级特性之物理存储 关于保险,你不得不知道的一些事情 Docker之docker-compose

COPYRIGHT © 2021 rubinchu.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

京ICP备19039146号-1