如何在 Debian 10 上安装 Apache ZooKeeper如何在 Debian 10 上安装 Apache ZooKeeper如何在 Debian 10 上安装 Apache ZooKeeper如何在 Debian 10 上安装 Apache ZooKeeper
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 10 上安装 Apache ZooKeeper

在此页

  1. 先决条件
  2. 开始
  3. 安装Java
  4. 为 Zookeeper 创建一个系统用户
  5. 下载动物园管理员
  6. 配置动物园管理员
  7. 启动并测试 Zookeeper 服务器
  8. 为 Zookeeper 创建一个 Systemd 服务文件
  9. 结论

Apache Zookeeper 是一种用于分布式系统的免费开源服务,可帮助您管理大量主机。它是用于维护配置信息、命名和组服务的集中式服务。它是用 Java 编写的,允许开发人员专注于构建软件功能,而不必担心应用程序的分布式特性。 Apache ZooKeeper 最常用于读取比写入更常见的“读取主导”工作负载。它具有丰富的功能集,包括同步、有序消息、序列化、可靠性、原子性、快速处理等等。它具有锁定和同步机制,可帮助您在连接其他分布式应用程序时进行自动故障恢复。 Zookeeper 项目是 Apache 基金会最成功的项目之一。许多公司采用 Zookeeper 来大规模创建高可用性分布式系统。

在本教程中,我们将向您展示如何在 Debian 10 服务器上设置单节点 Apache Zookeeper 集群。

先决条件

  • 一台运行 Debian 10 且配备 2 GB RAM 的服务器。
  • 在您的服务器上配置了根密码。

入门

在开始之前,建议使用最新版本更新您的服务器。您可以使用以下命令更新它:

apt-get update -y
apt-get upgrade -y

服务器更新后,重新启动它以实施更改。

安装Java

Apache Zookeeper 是用 Java 语言编写的。因此,您需要在系统中安装 Java。默认情况下,最新版本的 Java 在 Debian 10 默认存储库中可用。您可以通过运行以下命令来安装它:

apt-get install default-jdk -y

安装 Java 后,使用以下命令验证已安装的 Java 版本:

java --version

您应该得到以下输出:

openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Debian-1deb10u1, mixed mode, sharing)

完成后,您可以继续为 Zookeeper 创建系统用户。

为 Zookeeper 创建系统用户

创建一个专门的用户来运行 Zookeeper 服务是个好主意。这将提高您的安全性和可管理性。

首先,运行以下命令创建一个具有主目录的 zookeeper 用户:

useradd zookeeper -m

接下来,使用以下命令为 zookeeper 用户设置默认 shell:

usermod --shell /bin/bash zookeeper

接下来,使用以下命令为 zookeeper 用户设置密码:

passwd zookeeper

接下来,将 zookeeper 用户添加到 sudo 组:

usermod -aG sudo zookeeper

此时,您已经创建并配置了 Zookeeper 用户。您现在可以继续下载 Zookeeper。

下载动物园管理员

首先,您需要从其官方网站下载最新版本的 Apache Zookeeper。在撰写本文时,Apache Zookeeper 的最新版本是 3.5.6。

要下载它,请将目录更改为 /opt 并运行以下命令:

cd /opt
wget https://archive.apache.org/dist/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz

下载完成后,使用以下命令解压缩下载的文件:

tar -xvzf apache-zookeeper-3.5.6-bin.tar.gz

接下来,将提取的目录重命名为 zookeeper 并赋予适当的权限:

mv apache-zookeeper-3.5.6-bin zookeeper
chown -R zookeeper:zookeeper /opt/zookeeper

接下来,您需要为 Zookeeper 创建一个数据目录来存储所有配置和状态数据。您可以根据需要在本地文件系统或远程文件系统上创建。

您可以使用以下命令创建数据目录:

mkdir -p /data/zookeeper

接下来,将数据目录的所有权更改为 zookeeper 用户:

chown -R zookeeper:zookeeper /data/zookeeper

此时,您已经下载了 Zookeeper 并为其创建了一个数据目录。您现在可以继续配置 Zookeeper。

配置动物园管理员

Zookeeper 的所有配置文件都位于 /opt/zookeeper/conf/ 目录里面。您可以使用以下命令在 /opt/zookeeper/conf/ 目录中创建 Zookeeper 配置文件:

nano /opt/zookeeper/conf/zoo.cfg

添加以下行:

tickTime=2500
dataDir=/data/zookeeper
clientPort=2181
maxClientCnxns=80

完成后保存并关闭文件。

在哪里:

  • tickTime :此选项以毫秒为单位设置刻度的长度。
  • dataDir : 指定存放 Zookeeper 数据的数据目录。
  • clientPort :指定用于侦听客户端连接的端口。
  • maxClientCnxns : 用于限制最大客户端连接数。

注意:以上参数用于开发和测试。您可以根据需要更改它们。

至此,您已经配置了 Zookeeper。您现在可以准备启动 Zookeeper 服务器。

启动和测试 Zookeeper 服务器

您可以使用以下命令启动 Zookeeper 服务器:

/opt/zookeeper/bin/zkServer.sh start

您应该得到以下输出:

/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

接下来,您可以使用以下命令在端口 2181 上连接到 Zookeeper 服务器:

/opt/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181

连接后,您应该会看到以下输出:

[zk: 127.0.0.1:2181(CONNECTED) 0]

接下来,运行帮助命令以获取可以从客户端执行的命令列表。

[zk: 127.0.0.1:2181(CONNECTED) 0] help

您应该看到以下输出:

ZooKeeper -server host:port cmd args
	addauth scheme auth
	close 
	config [-c] [-w] [-s]
	connect host:port
	create [-s] [-e] [-c] [-t ttl] path [data] [acl]
	delete [-v version] path
	deleteall path
	delquota [-n|-b] path
	get [-s] [-w] path
	getAcl [-s] path
	history 
	listquota path
	ls [-s] [-w] [-R] path
	ls2 path [watch]
	printwatches on|off
	quit 
	reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
	redo cmdno
	removewatches path [-c|-d|-a] [-l]
	rmr path
	set [-s] [-v version] path data
	setAcl [-s] [-v version] [-R] path acl
	setquota -n|-b val path
	stat [-w] path
	sync path

测试后,使用 quit 命令退出客户端会话:

[zk: 127.0.0.1:2181(CONNECTED) 0] quit

您现在可以使用以下命令停止 Zookeeper 服务:

/opt/zookeeper/bin/zkServer.sh stop

您应该看到以下命令:

/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

至此,您已经成功启动并测试了 Zookeeper 服务器。

为 Zookeeper 创建系统服务文件

接下来,您需要创建一个 systemd 服务文件来使用 systemd 管理 Zookeeper 服务。

您可以使用以下命令创建它:

nano /etc/systemd/system/zookeeper.service

添加以下行:

[Unit]
Description=Zookeeper Daemon
Documentation=http://zookeeper.apache.org
Requires=network.target
After=network.target

[Service]    
Type=forking
WorkingDirectory=/opt/zookeeper
User=zookeeper
Group=zookeeper
ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg
ExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfg
ExecReload=/opt/zookeeper/bin/zkServer.sh restart /opt/zookeeper/conf/zoo.cfg
TimeoutSec=30
Restart=on-failure

[Install]
WantedBy=default.target

完成后保存并关闭文件。然后,使用以下命令重新加载 systemd 守护进程:

systemctl daemon-reload

接下来,使用以下命令启动 Zookeeper 服务并使其在系统重启后启动:

systemctl start zookeeper
systemctl enable zookeeper

您现在可以使用以下命令验证 Zookeeper 状态:

systemctl status zookeeper

您应该看到以下输出:

? zookeeper.service - Zookeeper Daemon
   Loaded: loaded (/etc/systemd/system/zookeeper.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-12-29 15:12:39 UTC; 8min ago
     Docs: http://zookeeper.apache.org
  Process: 9229 ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg (code=exited, status=0/SUCCESS)
 Main PID: 9245 (java)
    Tasks: 29 (limit: 2359)
   Memory: 49.7M
   CGroup: /system.slice/zookeeper.service
           ??9245 java -Dzookeeper.log.dir=/opt/zookeeper/bin/../logs -Dzookeeper.log.file=zookeeper-zookeeper-server-debian10.log -Dzookeeper.

Dec 29 15:12:38 debian10 systemd[1]: Starting Zookeeper Daemon...
Dec 29 15:12:38 debian10 zkServer.sh[9229]: /usr/bin/java
Dec 29 15:12:38 debian10 zkServer.sh[9229]: ZooKeeper JMX enabled by default
Dec 29 15:12:38 debian10 zkServer.sh[9229]: Using config: /opt/zookeeper/conf/zoo.cfg
Dec 29 15:12:39 debian10 zkServer.sh[9229]: Starting zookeeper ... STARTED
Dec 29 15:12:39 debian10 systemd[1]: Started Zookeeper Daemon.

现在,您可以使用 systemd 轻松管理 Zookeeper 服务。

结论

恭喜!您已经在 Debian 10 服务器上成功安装并配置了单节点 Zookeeper 集群。此设置对于开发和测试环境非常有用。我希望您现在有足够的知识来设置单节点 Zookeeper 集群。如果您有任何问题,请随时问我。

©2015-2025 艾丽卡 support@alaica.com