Wie installiert man Apache ZooKeeper unter Ubuntu 20.04
ZooKeeper ist ein Softwareprojekt der Apache Software Foundation, das einen hochleistungsfähigen gemeinsamen Datendienst für die Erstellung verteilter Anwendungen bereitstellt. Er wird von einem Cluster verwendet, um gemeinsam genutzte Daten mit robusten Synchronisierungstechniken zu pflegen. Er bietet eine einfache Schnittstelle für die Verwaltung von Konfigurationsinformationen, die Benennung, die verteilte Synchronisation und die 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.
- Der Server ist mit einem Root-Passwort konfiguriert.
Java installieren
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
Nachdem Sie Java installiert haben, überprüfen Sie die installierte Version von Java mit dem folgenden Befehl:
java --version
Sie sollten die folgende Ausgabe erhalten:
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 installieren
Bevor Sie Apache zookeeper installieren, müssen Sie einen neuen Benutzer für zookeeper anlegen. Sie können ihn mit dem folgenden Befehl erstellen:
useradd zookeeper -m
Legen Sie dann das Kennwort für diesen Benutzer fest und fügen Sie es mit folgendem Befehl zur sudo-Gruppe hinzu:
usermod --shell /bin/bash zookeeper passwd zookeeper usermod -aG sudo zookeeper
Als nächstes erstellen Sie ein Datenverzeichnis für den Zoowärter und ändern den Eigentümer dieses Verzeichnisses:
mkdir /zookeeper chown -R zookeeper:zookeeper /zookeeper
Als nächstes müssen Sie die neueste Version des Zoowärters in das Verzeichnis /opt herunterladen. Sie können sie 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 folgendem Befehl in ZooKeeper um:
mv apache-zookeeper-3.6.2-bin zookeeper
Als Nächstes ändern Sie den Eigentümer des Zookeeper-Verzeichnisses mit folgendem Befehl: Apache ZooKeeper ist in Java geschrieben:
chown -R zookeeper:zookeeper /opt/zookeeper
Konfigurieren Sie ZooKeeper im Standalone-Modus
Als nächstes müssen Sie eine ZooKeeper-Konfigurationsdatei erstellen, um ZooKeeper im Standalone-Modus einzurichten. Sie können sie mit dem folgenden Befehl erstellen:
nano /opt/zookeeper/conf/zoo.cfg
Fügen Sie die folgenden Zeilen hinzu:
tickTime=2500 dataDir=/zookeeper clientPort=2181 maxClientCnxns=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 start
Sie sollten die folgende Ausgabe erhalten:
ZooKeeper JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
Standardmäßig lauscht ZooKeeper auf 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 *:* users:(("java",pid=12749,fd=53))
Sie können sich nun mit folgendem Befehl mit dem lokalen ZooKeeper-Server verbinden:
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]
Beenden Sie nun die Sitzung mit dem folgenden Befehl:
quit
Stoppen Sie dann den ZooKeeper-Dienst mit folgendem Befehl:
bin/zkServer.sh stop
Sie sollten die folgende Ausgabe sehen:
ZooKeeper JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED
Erstellen Sie eine Systemdienstdatei für ZooKeeper
Als nächstes müssen Sie eine Systemdatei erstellen, um den ZooKeeper-Service zu verwalten. Diese können Sie mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/zookeeper.service
Fügen Sie die folgenden Zeilen hinzu:
[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
Speichern und schließen Sie die Datei und laden Sie dann den systemd-Dämon neu, um die Konfigurationsänderungen anzuwenden:
systemctl daemon-reload
Als nächstes ändern Sie den Eigentümer des ZooKeeper- und Datenverzeichnisses mit dem folgenden Befehl:
chown -R zookeeper:zookeeper /opt/zookeeper chown -R zookeeper:zookeeper /zookeeper
Als nächstes starten Sie den ZooKeeper-Dienst und schalten ihn beim Systemneustart mit folgendem Befehl ein:
systemctl start zookeeper systemctl enable zookeeper
Sie können nun den Status des ZooKeeper-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status zookeeper
Sie sollten folgende Ausgabe erhalten: Sie sollten folgende Ausgabe erhalten:
? zookeeper.service - Zookeeper Daemon Loaded: loaded (/etc/systemd/system/zookeeper.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2020-09-27 06:43:28 UTC; 8s ago Docs: http://zookeeper.apache.org Process: 13915 ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg (code=exited, status=0/SUCCESS) Main PID: 13946 (java) Tasks: 37 (limit: 4691) Memory: 50.6M CGroup: /system.slice/zookeeper.service ??13946 java -Dzookeeper.log.dir=/opt/zookeeper/bin/../logs -Dzookeeper.log.file=zookeeper-zookeeper-server-ubuntu2004.log -Dzook> Sep 27 06:43:27 ubuntu2004 systemd[1]: Starting Zookeeper Daemon... Sep 27 06:43:27 ubuntu2004 zkServer.sh[13915]: /usr/bin/java Sep 27 06:43:27 ubuntu2004 zkServer.sh[13915]: ZooKeeper JMX enabled by default Sep 27 06:43:27 ubuntu2004 zkServer.sh[13915]: Using config: /opt/zookeeper/conf/zoo.cfg Sep 27 06:43:28 ubuntu2004 zkServer.sh[13915]: Starting zookeeper ... STARTED Sep 27 06:43:28 ubuntu2004 systemd[1]: Started Zookeeper Daemon.
Schlussfolgerung
Herzlichen Glückwunsch! Sie haben ZooKeeper erfolgreich auf dem Ubuntu 20.04 Server installiert und konfiguriert. Jetzt können Sie die verteilte Anwendung mit ZooKeeper einfach erstellen und bereitstellen.