ZooKeeper ist ein Softwareprojekt der Apache Software Foundation, das einen Hochleistungsdienst für gemeinsam genutzte Daten bereitstellt, der zum Erstellen verteilter Anwendungen verwendet wird. Es wird von einem Cluster verwendet, um gemeinsam genutzte Daten mit robusten Synchronisierungstechniken zu verwalten. Es bietet eine einfache Schnittstelle zur Verwaltung von Konfigurationsinformationen, Benennung, verteilter Synchronisierung und Bereitstellung von Gruppendiensten.
In diesem Tutorial zeigen wir Ihnen, wie Sie Apache ZooKeeper auf einem Ubuntu 20.04-Server installieren.
Voraussetzungen
- Ein Server mit Ubuntu 20.04.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Installieren Sie Java
Apache ZooKeeper ist in Java geschrieben, daher müssen Sie Java auf Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:
apt-get install default-jdk -y
Überprüfen Sie nach der Installation von Java die installierte Version von Java mit dem folgenden Befehl:
java --version
Sie sollten die folgende Ausgabe erhalten:
openjdk 11.0.8 2020-07-14OpenJDK 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, gemischter Modus, Teilen)
Installieren Sie Zookeeper
Vor der Installation von Apache zookeeper müssen Sie einen neuen Benutzer für zookeeper erstellen. Sie können es mit dem folgenden Befehl erstellen:
useradd zookeeper -m
Legen Sie als Nächstes das Passwort für diesen Benutzer fest und fügen Sie es mit dem folgenden Befehl zur sudo-Gruppe hinzu:
usermod --shell /bin/bash zookeeper
passwd zookeeper
usermod -aG sudo zookeeper
Erstellen Sie als Nächstes ein Datenverzeichnis für zookeeper und ändern Sie den Eigentümer dieses Verzeichnisses:
mkdir /zookeeper
chown -R zookeeper:zookeeper /zookeeper
Als nächstes müssen Sie die neueste Version des Tierpflegers in das /opt-Verzeichnis herunterladen. Sie können es mit dem folgenden Befehl herunterladen:
cd /opt
wget https://mirrors.estointernet.in/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf apache-zookeeper-3.6.2-bin.tar.gz
Als nächstes benennen Sie das extrahierte Verzeichnis mit dem folgenden Befehl in zookeeper um:
mv apache-zookeeper-3.6.2-bin zookeeper
Als nächstes ändern Sie den Besitz des Zookeeper-Verzeichnisses mit dem folgenden Befehl:
chown -R zookeeper:zookeeper /opt/zookeeper
ZooKeeper im Standalone-Modus konfigurieren
Als Nächstes müssen Sie eine ZooKeeper-Konfigurationsdatei erstellen, um ZooKeeper im Standalone-Modus einzurichten. Sie können es mit dem folgenden Befehl erstellen:
nano /opt/zookeeper/conf/zoo.cfg
Fügen Sie die folgenden Zeilen hinzu:
tickTime=2500dataDir=/zookeeperclientPort=2181maxClientCnxns=80
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den ZooKeeper-Dienst mit dem folgenden Befehl:
cd /opt/zookeeper
bin/zkServer.sh starten
Sie sollten die folgende Ausgabe erhalten:
ZooKeeper JMX standardmäßig aktiviertUsing config:/opt/zookeeper/bin/../conf/zoo.cfgStarting zookeeper ... STARTED
Standardmäßig überwacht ZooKeeper Port 2181. Sie können dies mit dem folgenden Befehl überprüfen:
ss -ntpl | grep 2181
Sie sollten die folgende Ausgabe erhalten:
LISTEN 0 50 *:2181 *:* Benutzer:(("java",pid=12749,fd=53))
Sie können jetzt mit dem folgenden Befehl eine Verbindung zum lokalen ZooKeeper-Server herstellen:
bin/zkCli.sh -server 127.0.0.1:2181
Sobald die Verbindung hergestellt ist, sollten Sie die folgende Ausgabe erhalten:
WATCHER::WatchedEvent state:SyncConnected type:None path:null[zk:127.0.0.1:2181(CONNECTED) 0]
Verlassen Sie nun die Sitzung mit dem folgenden Befehl:
beenden
Stoppen Sie als Nächstes den ZooKeeper-Dienst mit dem folgenden Befehl:
bin/zkServer.sh stoppen
Sie sollten die folgende Ausgabe sehen:
ZooKeeper JMX standardmäßig aktiviertUsing config:/opt/zookeeper/bin/../conf/zoo.cfgStopping zookeeper ... STOPPED
Erstellen Sie eine Systemd-Dienstdatei für ZooKeeper
Als Nächstes müssen Sie eine systemd-Dienstdatei erstellen, um den ZooKeeper-Dienst zu verwalten. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/zookeeper.service
Fügen Sie die folgenden Zeilen hinzu:
[Unit]Description=Zookeeper DaemonDocumentation=http://zookeeper.apache.orgRequires=network.targetAfter=network.target[Service] Type=forkingWorkingDirectory=/opt/zookeeperUser=zookeeperGroup=zookeeperExecStart=/opt/zookeeper/bin /zkServer.sh start /opt/zookeeper/conf/zoo.cfgExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfgExecReload=/opt/zookeeper/bin/zkServer.sh restart / opt/zookeeper/conf/zoo.cfgTimeoutSec=30Restart=on-failure[Install]WantedBy=default.target
Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon neu, um die Konfigurationsänderungen zu übernehmen:
systemctl daemon-reload
Als nächstes ändern Sie den Besitz des ZooKeeper- und Datenverzeichnisses mit dem folgenden Befehl:
chown -R zookeeper:zookeeper /opt/zookeeper
chown -R zookeeper:zookeeper /zookeeper
Starten Sie als Nächstes den ZooKeeper-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:
systemctl start zookeeper
systemctl enable zookeeper
Sie können jetzt den Status des ZooKeeper-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status zookeeper
Sie sollten die folgende Ausgabe erhalten:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben ZooKeeper erfolgreich auf dem Ubuntu 20.04-Server installiert und konfiguriert. Sie können die verteilte Anwendung jetzt ganz einfach mit ZooKeeper erstellen und bereitstellen.