在 Ubuntu 24.04 上安装和配置 Zookeeper 3.6.2 的步骤如下:
步骤 1: 安装必要的软件依赖
Zookeeper 依赖 Java 运行环境。首先确保系统安装了 Java(推荐使用 OpenJDK)。
安装 OpenJDK
更新软件包列表:
sudo apt update
安装 OpenJDK(建议使用 Java 11 或更高版本):
sudo apt install openjdk-11-jdk -y
验证 Java 安装:
java -version
您应该看到类似以下输出:
openjdk version "11.0.x"
步骤 2: 下载和解压 Zookeeper 3.6.2
前往 Apache Zookeeper 的 官方下载页面 或直接使用
wget
下载:# 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
解压下载的文件:
tar -xzf apache-zookeeper-3.6.2-bin.tar.gz
将解压后的文件移动到
/opt
或其他合适的目录(可选):sudo mv apache-zookeeper-3.6.2-bin /opt/zookeeper-3.6.2
切换到 Zookeeper 安装目录:
cd /opt/zookeeper-3.6.2
步骤 3: 配置 Zookeeper
Zookeeper 的默认配置文件位于 conf/zoo_sample.cfg
。需要将其复制为 zoo.cfg
并进行必要的修改。
复制配置文件:
cp conf/zoo_sample.cfg conf/zoo.cfg
编辑
zoo.cfg
:nano conf/zoo.cfg
在配置文件中可以修改以下内容:
dataDir
:指定数据目录(默认/tmp/zookeeper
)。建议更改为稳定的目录,例如:dataDir=/opt/zookeeper-3.6.2/data
clientPort
:Zookeeper 客户端的连接端口(默认是 2181)。如果需要,可以修改:clientPort=2181
maxClientCnxns
:允许的最大客户端连接数,默认是 60,根据需求可以调整。
创建数据目录(如果更改了
dataDir
):mkdir -p /opt/zookeeper-3.6.2/data
在数据目录下创建一个
myid
文件(仅用于集群模式,单机模式可跳过):echo "1" > /opt/zookeeper-3.6.2/data/myid
步骤 4: 启动 Zookeeper 服务
切换到 Zookeeper 的主目录:
cd /opt/zookeeper-3.6.2
使用以下命令启动 Zookeeper:
bin/zkServer.sh start
检查 Zookeeper 的状态:
bin/zkServer.sh status
您应该看到类似以下的输出,表明 Zookeeper 正常运行:
Mode: standalone
步骤 5: 测试 Zookeeper
使用 Zookeeper 提供的 CLI 工具连接到服务器:
bin/zkCli.sh -server 127.0.0.1:2181
在 CLI 中测试基本命令。例如:
create /my_test_node "hello_zookeeper" get /my_test_node delete /my_test_node
退出 CLI:
quit
步骤 6: 配置为系统服务(可选)
为了便于管理,可以将 Zookeeper 配置为系统服务。
创建一个服务文件:
sudo nano /etc/systemd/system/zookeeper.service
在文件中添加以下内容:
[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
启动 Zookeeper 服务:
sudo systemctl start zookeeper
检查服务状态:
sudo systemctl status zookeeper
总结
- 您已成功安装 Zookeeper 3.6.2,并可以通过
bin/zkServer.sh
启动或停止服务。 - Zookeeper 的默认端口是
2181
,可以通过配置文件zoo.cfg
自定义。 - 您可以配置为系统服务以便更方便地管理。
如果需要进一步配置(例如集群模式),请根据官方文档或具体需求添加服务器列表等配置项。
- 直接修改启动脚本(可选)
如果不使用 java.env 文件,也可以直接在启动脚本中设置内存限制。
编辑 bin/zkServer.sh 脚本:
nano $ZOOKEEPER_HOME/bin/zkServer.sh
在脚本顶部添加:
JVMFLAGS=“-Xms512m -Xmx512m”
export JVMFLAGS
3. 验证设置
启动 ZooKeeper:
$ZOOKEEPER_HOME/bin/zkServer.sh start
查看 ZooKeeper 的 JVM 参数,确保内存设置生效:
jps
jstat -gc <ZooKeeper_PID>
或者通过 ps 命令检查启动参数:
ps aux | grep zookeeper
你应该可以看到 -Xms512m 和 -Xmx512m 的参数。
- 重启 ZooKeeper
完成设置后,重启 ZooKeeper:
$ZOOKEEPER_HOME/bin/zkServer.sh restart
通过上述方法,ZooKeeper 的运行内存将被限制为 512MB。