如何在Ubuntu 20.04上安装Apache ZooKeeper

ZooKeeper是Apache软件基金会的一个软件项目,它提供了一个用于构建分布式应用的高性能共享数据服务。它被一个集群用来维护共享数据,并采用强大的同步技术。它提供了一个简单的接口,用于管理配置信息、命名、分布式同步和提供组服务。
在本文中,我们将向您展示如何在Ubuntu 20.04服务器上安装Apache ZooKeeper。
先决条件
一台运行Ubuntu 20.04的服务器,且配置了一个root密码。
安装Java
Apache ZooKeeper用Java编写,因此您需要在系统中安装Java。您可以使用以下命令进行安装:
apt-get install default-jdk -y
安装Java之后,请使用以下命令验证Java的安装版本:
java --version
您应该获得以下输出:

openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

安装Zookeeper
在安装Apache zookeeper之前,您需要为zookeeper创建一个新用户。您可以使用以下命令创建它:
useradd zookeeper -m
接下来,使用以下命令为此用户设置密码并将其添加到sudo组:
usermod --shell /bin/bash zookeeper
passwd zookeeper
usermod -aG sudo zookeeper
接下来,为zookeeper创建一个数据目录并更改该目录的所有权:
mkdir /zookeeper
chown -R zookeeper:zookeeper /zookeeper
接下来,您将需要将Zookeeper的最新版本下载到/ opt目录。您可以使用以下命令下载它:
cd /opt
wget https://mirrors.estointernet.in/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
下载完成后,使用以下命令解压缩下载的文件:
tar -xvzf apache-zookeeper-3.6.2-bin.tar.gz
接下来,使用以下命令将提取的目录重命名为zookeeper:
mv apache-zookeeper-3.6.2-bin zookeeper
接下来,使用以下命令更改zookeeper目录的所有权:
chown -R zookeeper:zookeeper /opt/zookeeper
在独立模式下配置ZooKeeper
接下来,您将需要创建ZooKeeper配置文件以独立模式设置ZooKeeper。您可以使用以下命令创建它:
nano /opt/zookeeper/conf/zoo.cfg
添加以下行:
tickTime=2500
dataDir=/zookeeper
clientPort=2181
maxClientCnxns=80
完成后,保存并关闭文件。然后,使用以下命令启动ZooKeeper服务:
cd /opt/zookeeper
bin/zkServer.sh start
您应该获得以下输出:

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

默认情况下,ZooKeeper监听端口2181。您可以使用以下命令检查它:
ss -ntpl | grep 2181
您应该获得以下输出:
LISTEN 0 50 *:2181 *:* users:(("java",pid=12749,fd=53))
现在,您可以使用以下命令连接到ZooKeeper本地服务器:
bin/zkCli.sh -server 127.0.0.1:2181
连接后,您将获得以下输出:

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: 127.0.0.1:2181(CONNECTED) 0] 

现在,使用以下命令退出会话:
quit
接下来,使用以下命令停止ZooKeeper服务:
bin/zkServer.sh stop
您应该看到以下输出:

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

为ZooKeeper创建系统服务文件
接下来,您将需要创建一个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和数据目录的所有权:
chown -R zookeeper:zookeeper /opt/zookeeper
chown -R zookeeper:zookeeper /zookeeper
接下来,使用以下命令启动ZooKeeper服务,并使其在系统重新启动时启动:
systemctl start zookeeper
systemctl enable zookeeper
现在,您可以使用以下命令检查ZooKeeper服务的状态:
systemctl status zookeeper
您应该获得以下输出:

至此,您已经在Ubuntu 20.04服务器上成功安装并配置了ZooKeeper。您现在可以使用ZooKeeper轻松构建和部署分布式应用程序。A5互联https://www.a5idc.net/

原文地址:https://www.cnblogs.com/a5idc/p/13772654.html