Zookeeper-源码启动

源码启动zookeeper

zookeeper源码下载地址:

md-end-block 复制代码
//选择分支3.5.8
https://github.com/apache/zookeeper.git  

源码导入idea后,org.apache.zookeeper.Version类会报错,需要建一个辅助类

md-end-block 复制代码
//全局搜索org.apache.zookeeper.Version这个类就找到了
package org.apache.zookeeper.version;

public interface Info {
    int MAJOR = 1;
    int MINOR = 0;
    int MICRO = 0;
    String QUALIFIER = null;
    int REVISION = -1;
    String REVISION_HASH = "1";
    String BUILD_DATE = "2020-10-15";
}

然后在根目录编译执行:

md-end-block 复制代码
mvn clean install -DskipTests

本地编译一直报org.apache.commons.collections.ExtendedProperties这个错误,不知道怎么解决。所以上传到云服务器后执行编译命令

后来发现修改插件版本可以解决上面的问题:

md-end-block 复制代码
<plugin>
    <artifactId>maven-remote-resources-plugin</artifactId>
    <version>1.6.0</version>
    <dependencies>
    	<dependency>
    		<groupId>commons-collections</groupId>
    		<artifactId>commons-collections</artifactId>
    		<version>3.2.1</version>
    	</dependency>
    	<!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->
		<dependency>
    		<groupId>commons-lang</groupId>
    		<artifactId>commons-lang</artifactId>
    		<version>2.6</version>
    	</dependency>
    </dependencies>
</plugin>

从bin目录下的zkServer.sh或zkServer.cmd里找到启动主类

md-end-block 复制代码
org.apache.zookeeper.server.quorum.QuorumPeerMain

注意:

1、将conf文件夹里的zoo_sample.cfg文件复制一份改名为zoo.cfg,将zoo.cfg文件位置配置到启动参数里

2、启动之前需要先将zookeeper-server项目里pom.xml文件里依赖的包(除了jline)的scope为provided这一行全部注释掉

3、将conf文件夹里的log4j.properties文件复制一份到zookeeper-server项目的 \target\classes 目录下,这样项目启动时才会打印日志

相关推荐
独泪了无痕5 小时前
探索Pinyin4j-Java中的拼音转换利器
java·后端
道尔柯南6 小时前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
kingx37 小时前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
DevOpenClub9 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
露天赏雪11 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
天天被压力11 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
天天被压力11 小时前
【A股分钟级高频数据完全手册 #05】指数历史分钟数据接口:Pro版沪深指数分时回放
java·人工智能·python
captain37611 小时前
▲统一功能——DispatcherServlet源码分析
java·spring·java-ee·log4j·maven
金銀銅鐵11 小时前
JDK 21 中 List.of 的实现细节:从 List12 到 ListN
java·后端·ai编程
yeccheng13 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试