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/