zookeeper源码一(下载启动)

本文详细介绍如何下载、安装及启动ZooKeeper项目,包括配置文件的修改、启动参数设置等关键步骤,并提供了启动集群的具体操作。

下载

// git地址 版本3.5.8
https://github.com/apache/zookeeper.git

导入idea

在这里插入图片描述

启动

  1. 源码导入后,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‐12‐15";
    }
    
    
  2. 根目录执行

    mvn clean install ‐DskipTests
    
  3. 入口类

    开源项目找入口类一般都是从启动脚本去找,可以从bin目录下
    的zkServer.sh或	zkServer.cmd里找到启动主类运行即可.
    下图可以看到启动类为:
    org.apache.zookeeper.server.quorum.QuorumPeerMain
    

    在这里插入图片描述

  4. 配置文件

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

    在这里插入图片描述
    在这里插入图片描述

注意

  • 启动之前需要先将zookeeper-server项目里pom.xml文件里依赖的包(除了jline)的scope为provided这一行全部注释掉。
  • 将conf文件夹里的log4j.properties文件复制一份到zookeeper-server项目的 \target\classes 目录下,这样项目启动时才会打印日志
    在这里插入图片描述

本地客户端连接ZK

配置运行参数:-server localhost:2181,如图:
在这里插入图片描述
启动客户端连接
在这里插入图片描述
操作节点
在这里插入图片描述

zookeeper 源码集群启动

  1. 新建目录data,并添加子目录zk1、zk2、zk3
    在这里插入图片描述
  2. 分别在zk1\zk2\zk3添加文件myid并输入对应节点序号
    在这里插入图片描述
  3. config目录复制3份zoo.cfg 重命名为zoo1.cfg、zoo2.cfg、zoo3.cfg
    在这里插入图片描述
  4. 启动集群
    在这里插入图片描述

到此完事项目启动完事了,下一篇为zookeeper选举源码分析。

### 在 IntelliJ IDEA 中运行和调试 ZooKeeper 源码 要在 IntelliJ IDEA 中运行和调试 ZooKeeper 源码,首先需要完成源码的获取、构建以及配置工作。以下是详细步骤: #### 1. 获取 ZooKeeper 源码并切换到指定版本 从 GitHub 上克隆 ZooKeeper源码仓库,并切换到所需的版本(例如 `branch-3.5.8`): ```bash git clone https://github.com/apache/zookeeper.git cd zookeeper git checkout branch-3.5.8 ``` 该步骤确保使用的是稳定版本的源码,便于后续的调试和运行[^1]。 #### 2. 构建 ZooKeeper 项目 ZooKeeper 项目默认使用 `ant` 构建系统,但也可以使用 `maven` 导入和构建项目。使用 `ant` 构建: ```bash ant ``` 构建完成后,会在 `build` 目录下生成编译后的类文件和依赖库[^2]。 #### 3. 将项目导入 IntelliJ IDEA 在 IntelliJ IDEA 中导入项目: - 打开 IDEA,选择 **"Open"**。 - 导航到 ZooKeeper 项目的根目录,选择 `pom.xml`(如果使用 Maven)或直接打开项目目录(如果使用 Ant)。 - IDEA 会自动识别项目结构并导入。 如果使用 Maven 构建,则需要确保 `pom.xml` 文件中的依赖项正确加载,必要时可注释掉部分依赖的 `<scope>provided</scope>` 标签以确保依赖参与构建[^3]。 #### 4. 配置资源目录 确保 `conf` 目录下的配置文件(如 `zoo.cfg` 和 `log4j.properties`)被正确识别为资源文件: - 右键点击 `conf` 文件夹 → **"Mark Directory as"** → **"Resources Root"**。 #### 5. 配置运行/调试入口 ZooKeeper 的主类是 `org.apache.zookeeper.server.quorum.QuorumPeerMain`,这是启动 ZooKeeper 服务的核心入口类。 - 在 IDEA 中,打开 **Run** → **Edit Configurations...** - 点击 **"+"** 添加新的 **Application** 配置。 - 设置主类为 `org.apache.zookeeper.server.quorum.QuorumPeerMain`。 - 在 VM options 中可以设置日志输出路径,例如: ```bash -Dlog4j.configuration=file:./conf/log4j.properties ``` - Program arguments 可以指定配置文件路径,例如: ```bash ./conf/zoo.cfg ``` #### 6. 启动 ZooKeeper 服务 完成上述配置后,即可通过 IDEA 的运行和调试按钮启动 ZooKeeper 服务。启动后,可通过 `zkCli.sh` 或 `telnet` 进行连接测试: ```bash ./bin/zkCli.sh -server localhost:2181 ``` #### 7. 调试 ZooKeeper 源码 在 IDEA 中设置断点后,使用 **Debug** 模式运行配置即可开始调试。可以调试服务端启动流程、会话管理、ZooKeeper 内部状态同步等关键流程。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值