zookeeper源码构建与idea集群启动

目录

  • GitHub下载源码
    • 服务端启动类
      • 启动配置
    • 客户端启动类
    • 集群启动

GitHub下载源码

//选择分支3.5.8
https://github.com/apache/zookeeper.git  

zookeeper源码构建与idea集群启动_第1张图片
maven版本不能太低我用的是3.6.2版本的

然后在下载好的路径根目录编译执行
mvn clean install -DskipTests
将编译好的项目导入idea中

zookeeper源码构建与idea集群启动_第2张图片

服务端启动类

org.apache.zookeeper.server.quorum.QuorumPeerMain

启动配置

1、将conf文件夹里的zoo_sample.cfg文件复制一份改名为zoo.cfg,将zoo.cfg文件位置配置到启动参数里
修改里面dataDir将存放数据修改到指定目录下
zookeeper源码构建与idea集群启动_第3张图片

zookeeper源码构建与idea集群启动_第4张图片
2、启动之前需要先将zookeeper-server项目里pom.xml文件里依赖的包(除了jline)的scope为provided这一行全部注释掉(记得刷新下pom.xml的配置)
在这里插入图片描述
zookeeper源码构建与idea集群启动_第5张图片这个保留
3、将conf文件夹里的log4j.properties文件复制一份到zookeeper-server项目的 \target\classes 目录下,这样项目启动时才会打印日志
zookeeper源码构建与idea集群启动_第6张图片
4、将之前的zoo.cfg文件添加配置添加到QuorumPeerMain启动类中
zookeeper源码构建与idea集群启动_第7张图片
5、启动
zookeeper源码构建与idea集群启动_第8张图片

客户端启动类

org.apache.zookeeper.ZooKeeperMain

直接启动就好

集群启动

1、复制zoo.cfg文件zoo1 zoo2 zoo3修改里面参数
zookeeper源码构建与idea集群启动_第9张图片
zookeeper源码构建与idea集群启动_第10张图片
zookeeper源码构建与idea集群启动_第11张图片
2、创建dataDir目录下三个文件夹
zookeeper源码构建与idea集群启动_第12张图片
里面分别创建myid的三个文件
zoo-1文件夹内创建myid,myid文件没有后缀,直接创建名字myid,内容分别为server后的数字1
zoo-2文件夹内创建myid,myid文件没有后缀,直接创建名字myid,内容分别为server后的数字2
zoo-3文件夹内创建myid,myid文件没有后缀,直接创建名字myid,内容分别为server后的数字3

3、传教三个启动实例,修改启动配置文件分别启动即可
zookeeper源码构建与idea集群启动_第13张图片
启动两个以上就不会报错了,因为zookeeper会根据配置文件写的集群机器数来做选举,启动一台达不到选举条件,至少得在启动一台

你可能感兴趣的:(zookeeper,zookeeper)