GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Apache ZooKeeper unter Debian 10

Apache Zookeeper ist ein kostenloser Open-Source-Dienst für verteilte Systeme, mit dem Sie eine große Anzahl von Hosts verwalten können. Es ist ein zentralisierter Dienst, der zum Verwalten von Konfigurationsinformationen, Benennungs- und Gruppendiensten verwendet wird. Es ist in Java geschrieben und ermöglicht es Entwicklern, sich auf das Erstellen von Softwarefunktionen zu konzentrieren, ohne sich Gedanken über die verteilte Natur der Anwendung machen zu müssen. Apache ZooKeeper wird am häufigsten in „lesedominierten“ Workloads verwendet, bei denen Lesevorgänge viel häufiger sind als Schreibvorgänge. Es verfügt über eine Vielzahl von Funktionen, darunter Synchronisierung, geordnete Nachrichten, Serialisierung, Zuverlässigkeit, Atomizität, schnelle Verarbeitung und vieles mehr. Es verfügt über einen Sperr- und Synchronisierungsmechanismus, der Sie bei der automatischen Wiederherstellung nach einem Ausfall unterstützt, während Sie andere verteilte Anwendungen verbinden. Das Zookeeper-Projekt ist eines der erfolgreichsten Projekte der Apache Foundation. Viele Unternehmen haben Zookeeper eingeführt, um hochverfügbare verteilte Systeme in großem Umfang zu erstellen.

In diesem Tutorial zeigen wir Ihnen, wie Sie einen Apache Zookeeper-Cluster mit einem einzelnen Knoten auf einem Debian 10-Server einrichten.

Voraussetzungen

  • Ein Server mit Debian 10 und 2 GB RAM.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, wird empfohlen, Ihren Server auf die neueste Version zu aktualisieren. Sie können es mit dem folgenden Befehl aktualisieren:

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

Sobald Ihr Server aktualisiert ist, starten Sie ihn neu, um die Änderungen zu implementieren.

Installieren Sie Java

Apache Zookeeper ist in der Java-Sprache geschrieben. Sie müssen also Java auf Ihrem System installieren. Standardmäßig ist die neueste Version von Java im Standard-Repository von Debian 10 verfügbar. Sie können es installieren, indem Sie den folgenden Befehl ausführen:

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.5 2019-10-15OpenJDK 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 , teilen)

Wenn Sie fertig sind, können Sie mit der Erstellung eines Systembenutzers für Zookeeper fortfahren.

Erstellen Sie einen Systembenutzer für Zookeeper

Es ist eine gute Idee, einen dedizierten Benutzer zum Ausführen des Zookeeper-Dienstes zu erstellen. Dies verbessert Ihre Sicherheit und Verwaltbarkeit.

Führen Sie zunächst den folgenden Befehl aus, um einen Zookeeper-Benutzer mit Home-Verzeichnis zu erstellen:

useradd zookeeper -m

Legen Sie als Nächstes die Standard-Shell für den Zookeeper-Benutzer mit dem folgenden Befehl fest:

usermod --shell /bin/bash zookeeper

Legen Sie als Nächstes mit dem folgenden Befehl ein Passwort für den Zookeeper-Benutzer fest:

passwd zookeeper

Fügen Sie als Nächstes den Zookeeper-Benutzer zur sudo-Gruppe hinzu:

usermod -aG sudo zookeeper

An diesem Punkt haben Sie den Zookeeper-Benutzer erstellt und konfiguriert. Sie können jetzt mit dem Download des Zookeepers fortfahren.

Zookeeper herunterladen

Zuerst müssen Sie die neueste Version von Apache Zookeeper von seiner offiziellen Website herunterladen. Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste Version von Apache Zookeeper 3.5.6.

Wechseln Sie zum Herunterladen in das Verzeichnis /opt und führen Sie den folgenden Befehl aus:

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

Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

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

Als nächstes benennen Sie das extrahierte Verzeichnis in zookeeper um und geben Sie die richtigen Berechtigungen:

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

Als Nächstes müssen Sie ein Datenverzeichnis für Zookeeper erstellen, um alle Konfigurations- und Zustandsdaten zu speichern. Sie können je nach Bedarf im lokalen Dateisystem oder im Remote-Dateisystem erstellen.

Sie können ein Datenverzeichnis mit dem folgenden Befehl erstellen:

mkdir -p /data/zookeeper

Ändern Sie als Nächstes den Besitz des Datenverzeichnisses auf zookeeper user:

chown -R zookeeper:zookeeper /data/zookeeper

An diesem Punkt haben Sie Zookeeper heruntergeladen und ein Datenverzeichnis dafür erstellt. Sie können nun mit der Konfiguration des Zookeepers fortfahren.

Zookeeper konfigurieren

Alle Konfigurationsdateien von Zookeeper befinden sich im Verzeichnis /opt/zookeeper/conf/. Mit dem folgenden Befehl können Sie eine Zookeeper-Konfigurationsdatei im Verzeichnis /opt/zookeeper/conf/ erstellen:

nano /opt/zookeeper/conf/zoo.cfg

Fügen Sie die folgenden Zeilen hinzu:

tickTime=2500dataDir=/data/zookeeperclientPort=2181maxClientCnxns=80

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Wo:

  • TickTime :Diese Option legt die Länge eines Ticks in Millisekunden fest.
  • dataDir :Geben Sie das Datenverzeichnis zum Speichern von Zookeeper-Daten an.
  • clientPort :Geben Sie den Port an, der zum Abhören von Client-Verbindungen verwendet wird.
  • maxClientCnxns :Wird verwendet, um die maximale Anzahl von Client-Verbindungen zu begrenzen.

Hinweis :Die oben genannten Parameter sind für Entwicklung und Tests. Sie können sie nach Bedarf ändern.

An diesem Punkt haben Sie Zookeeper konfiguriert. Sie können jetzt den Zookeeper-Server starten.

Zookeeper-Server starten und testen

Sie können den Zookeeper-Server mit dem folgenden Befehl starten:

/opt/zookeeper/bin/zkServer.sh starten

Sie sollten die folgende Ausgabe erhalten:

/usr/bin/javaZooKeeper JMX standardmäßig aktiviertUsing config:/opt/zookeeper/bin/../conf/zoo.cfgStarting zookeeper ... STARTED

Als Nächstes können Sie sich mit dem folgenden Befehl über Port 2181 mit dem Zookeeper-Server verbinden:

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

Sobald die Verbindung hergestellt ist, sollten Sie die folgende Ausgabe sehen:

[zk:127.0.0.1:2181(VERBUNDEN) 0]

Führen Sie als Nächstes den Befehl help aus, um eine Liste der Befehle zu erhalten, die Sie vom Client ausführen können.

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

Sie sollten die folgende Ausgabe sehen:

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] Pfad ls2-Pfad [watch] printwatches on|off reconfig beenden [-s] [-v Version] [[-Dateipfad] | [-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

Beenden Sie nach dem Testen die Clientsitzung mit dem Befehl quit:

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

Sie können den Zookeeper-Dienst jetzt mit dem folgenden Befehl stoppen:

/opt/zookeeper/bin/zkServer.sh stop

Sie sollten den folgenden Befehl sehen:

/usr/bin/javaZooKeeper JMX standardmäßig aktiviertUsing config:/opt/zookeeper/bin/../conf/zoo.cfgStopping zookeeper ... STOPPED

An diesem Punkt haben Sie den Zookeeper-Server erfolgreich gestartet und getestet.

Erstellen Sie eine Systemd-Dienstdatei für Zookeeper

Als Nächstes müssen Sie eine systemd-Dienstdatei erstellen, um den Zookeeper-Dienst mit systemd 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, wenn Sie fertig sind. Laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Starten Sie als Nächstes den Zookeeper-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl start zookeeper
systemctl enable zookeeper

Sie können jetzt den Zookeeper-Status mit dem folgenden Befehl überprüfen:

systemctl status zookeeper

Sie sollten die folgende Ausgabe sehen:

? zookeeper.service - Zookeeper Daemon Geladen:geladen (/etc/systemd/system/zookeeper.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit So. 2019-12-29 15:12:39 UTC; Vor 8 Minuten Dokumente:http://zookeeper.apache.org Prozess:9229 ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg (code=exited, status=0/SUCCESS) Haupt-PID:9245 (Java) Tasks:29 (Limit:2359) Speicher:49,7 MB 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]:Starte Zookeeper Daemon ... 29. Dez 15:12:38 debian10 zkServer.sh [9229]:/usr/bin/java29. Dez 15:12:38 debian10 zkServer.sh[9229]:ZooKeeper JMX standardmäßig aktiviert 29. Dez 15:12:38 debian10 zkServer.sh[9229]:Using config:/opt/zookeeper /conf/zoo.cfgDec 29 15:12:39 debian10 zkServer.sh[9229]:Zookeeper wird gestartet ... STARTEDDec 29 15:12:39 debian10 systemd[1]:Zookeeper Daemon gestartet.

Jetzt können Sie den Zookeeper-Dienst ganz einfach mit systemd verwalten.

Schlussfolgerung

Herzliche Glückwünsche! Sie haben erfolgreich einen Zookeeper-Cluster mit einem Knoten auf einem Debian 10-Server installiert und konfiguriert. Dieses Setup ist sehr nützlich für Entwicklungs- und Testumgebungen. Ich hoffe, Sie haben jetzt genug Wissen, um einen Zookeeper-Cluster mit einem einzigen Knoten einzurichten. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.


Debian
  1. So installieren Sie Apache Maven unter Debian 10

  2. So installieren Sie osquery unter Debian 10

  3. So installieren Sie Apache ZooKeeper unter Ubuntu 20.04

  4. So installieren Sie Apache Cassandra unter Debian 11

  5. So installieren Sie Apache Maven unter Debian 11

So installieren Sie Apache Spark unter Debian 11

So installieren Sie HAProxy unter Debian 11

So installieren Sie Apache Guacamole unter Debian 11

So installieren Sie Jenkins unter Debian 11

So installieren Sie Cockpit unter Debian 11

So installieren Sie Apache Tomcat unter Debian 11