Ubuntu 24.04 上安装和配置 Zookeeper 3.6.2

在 Ubuntu 24.04 上安装和配置 Zookeeper 3.6.2 的步骤如下:


步骤 1: 安装必要的软件依赖

Zookeeper 依赖 Java 运行环境。首先确保系统安装了 Java(推荐使用 OpenJDK)。

安装 OpenJDK
  1. 更新软件包列表:

    bash 复制代码
    sudo apt update
  2. 安装 OpenJDK(建议使用 Java 11 或更高版本):

    bash 复制代码
    sudo apt install openjdk-11-jdk -y
  3. 验证 Java 安装:

    bash 复制代码
    java -version

    您应该看到类似以下输出:

    复制代码
    openjdk version "11.0.x"

步骤 2: 下载和解压 Zookeeper 3.6.2

  1. 前往 Apache Zookeeper 的 官方下载页面 或直接使用 wget 下载:

    bash 复制代码
    # wget https://downloads.apache.org/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
    sudo wget https://archive.apache.org/dist/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
  2. 解压下载的文件:

    bash 复制代码
    tar -xzf apache-zookeeper-3.6.2-bin.tar.gz
  3. 将解压后的文件移动到 /opt 或其他合适的目录(可选):

    bash 复制代码
    sudo mv apache-zookeeper-3.6.2-bin /opt/zookeeper-3.6.2
  4. 切换到 Zookeeper 安装目录:

    bash 复制代码
    cd /opt/zookeeper-3.6.2

步骤 3: 配置 Zookeeper

Zookeeper 的默认配置文件位于 conf/zoo_sample.cfg。需要将其复制为 zoo.cfg 并进行必要的修改。

  1. 复制配置文件:

    bash 复制代码
    cp conf/zoo_sample.cfg conf/zoo.cfg
  2. 编辑 zoo.cfg

    bash 复制代码
    nano conf/zoo.cfg

    在配置文件中可以修改以下内容:

    • dataDir :指定数据目录(默认 /tmp/zookeeper)。建议更改为稳定的目录,例如:

      ini 复制代码
      dataDir=/opt/zookeeper-3.6.2/data
    • clientPort :Zookeeper 客户端的连接端口(默认是 2181)。如果需要,可以修改:

      ini 复制代码
      clientPort=2181
    • maxClientCnxns:允许的最大客户端连接数,默认是 60,根据需求可以调整。

  3. 创建数据目录(如果更改了 dataDir):

    bash 复制代码
    mkdir -p /opt/zookeeper-3.6.2/data
  4. 在数据目录下创建一个 myid 文件(仅用于集群模式,单机模式可跳过):

    bash 复制代码
    echo "1" > /opt/zookeeper-3.6.2/data/myid

步骤 4: 启动 Zookeeper 服务

  1. 切换到 Zookeeper 的主目录:

    bash 复制代码
    cd /opt/zookeeper-3.6.2
  2. 使用以下命令启动 Zookeeper:

    bash 复制代码
    bin/zkServer.sh start
  3. 检查 Zookeeper 的状态:

    bash 复制代码
    bin/zkServer.sh status

    您应该看到类似以下的输出,表明 Zookeeper 正常运行:

    复制代码
    Mode: standalone

步骤 5: 测试 Zookeeper

  1. 使用 Zookeeper 提供的 CLI 工具连接到服务器:

    bash 复制代码
    bin/zkCli.sh -server 127.0.0.1:2181
  2. 在 CLI 中测试基本命令。例如:

    bash 复制代码
    create /my_test_node "hello_zookeeper"
    get /my_test_node
    delete /my_test_node
  3. 退出 CLI:

    bash 复制代码
    quit

步骤 6: 配置为系统服务(可选)

为了便于管理,可以将 Zookeeper 配置为系统服务。

  1. 创建一个服务文件:

    bash 复制代码
    sudo nano /etc/systemd/system/zookeeper.service
  2. 在文件中添加以下内容:

    ini 复制代码

Unit

Description=Apache Zookeeper

After=network.target

Service

Type=forking

ExecStart=/opt/zookeeper-3.6.2/bin/zkServer.sh start

ExecStop=/opt/zookeeper-3.6.2/bin/zkServer.sh stop

ExecReload=/opt/zookeeper-3.6.2/bin/zkServer.sh restart

User=root

Restart=on-failure

Install

WantedBy=multi-user.target

复制代码
3. 重新加载 systemd 并启用服务:
```bash
sudo systemctl daemon-reload
sudo systemctl enable zookeeper
  1. 启动 Zookeeper 服务:

    bash 复制代码
    sudo systemctl start zookeeper
  2. 检查服务状态:

    bash 复制代码
    sudo systemctl status zookeeper

总结

  • 您已成功安装 Zookeeper 3.6.2,并可以通过 bin/zkServer.sh 启动或停止服务。
  • Zookeeper 的默认端口是 2181,可以通过配置文件 zoo.cfg 自定义。
  • 您可以配置为系统服务以便更方便地管理。

如果需要进一步配置(例如集群模式),请根据官方文档或具体需求添加服务器列表等配置项。

  1. 直接修改启动脚本(可选)
    如果不使用 java.env 文件,也可以直接在启动脚本中设置内存限制。

编辑 bin/zkServer.sh 脚本:

nano $ZOOKEEPER_HOME/bin/zkServer.sh

在脚本顶部添加:

JVMFLAGS="-Xms512m -Xmx512m"

export JVMFLAGS

  1. 验证设置

启动 ZooKeeper:

$ZOOKEEPER_HOME/bin/zkServer.sh start

查看 ZooKeeper 的 JVM 参数,确保内存设置生效:

jps

jstat -gc <ZooKeeper_PID>

或者通过 ps 命令检查启动参数:

ps aux | grep zookeeper

你应该可以看到 -Xms512m 和 -Xmx512m 的参数。

  1. 重启 ZooKeeper
    完成设置后,重启 ZooKeeper:

$ZOOKEEPER_HOME/bin/zkServer.sh restart

通过上述方法,ZooKeeper 的运行内存将被限制为 512MB。

相关推荐
A小辣椒10 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒13 小时前
TShark:基础知识
linux
AlfredZhao16 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言