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。

相关推荐
snoopyfly~1 小时前
Ubuntu 24.04 LTS 服务器配置:安装 JDK、Nginx、Redis。
java·服务器·ubuntu
独行soc1 小时前
#渗透测试#批量漏洞挖掘#HSC Mailinspector 任意文件读取漏洞(CVE-2024-34470)
linux·科技·安全·网络安全·面试·渗透测试
BD_Marathon1 小时前
Ubuntu下Tomcat的配置
linux·ubuntu·tomcat
饥饿的半导体2 小时前
Linux快速入门
linux·运维
BD_Marathon2 小时前
Ubuntu:Tomcat里面的catalina.sh
linux·ubuntu·tomcat
BD_Marathon2 小时前
设置LInux环境变量的方法和区别_Ubuntu/Centos
linux·ubuntu·centos
Me4神秘2 小时前
Linux国产与国外进度对垒
linux·服务器·安全
zhaowangji2 小时前
ubuntu 20.04 安装中文输入法 (sougou pin yin)
linux·ubuntu
两斤半3 小时前
Debian TTY环境乱码
linux·debian
还是奇怪4 小时前
Linux - 安全排查 2
linux·运维·安全