Aufbau einer Zookeeper-Standalone-Umgebung und einer Clusterumgebung

Aufbau einer Zookeeper-Standalone-Umgebung und einer Clusterumgebung

1. Aufbau einer Einzelmaschinenumgebung#

1.1 Herunterladen

Laden Sie die entsprechende Version von Zookeeper herunter. Hier habe ich Version 3.4.14 heruntergeladen. Offizielle Download-Adresse: https://archive.apache.org/dist/zookeeper/

# wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

1.2 Entpacken

# tar -zxvf zookeeper-3.4.14.tar.gz

1.3 Konfigurieren von Umgebungsvariablen

# vim /etc/profile

Umgebungsvariablen hinzufügen:

export ZOOKEEPER_HOME=/usr/app/zookeeper-3.4.14
export PATH=$ZOOKEEPER_HOME/bin:$PATH

Sorgen Sie dafür, dass die konfigurierten Umgebungsvariablen wirksam werden:

# Quelle /etc/Profil

1.4 Konfiguration ändern#

Gehen Sie in das Verzeichnis conf/ des Installationsverzeichnisses, kopieren Sie das Konfigurationsbeispiel und ändern Sie es:

# cp zoo_sample.cfg zoo.cfg

Geben Sie das Datenspeicherverzeichnis und das Protokolldateiverzeichnis an (Verzeichnisse müssen nicht im Voraus erstellt werden, das Programm erstellt sie automatisch). Die vollständige Konfiguration nach der Änderung lautet wie folgt:

# Die Anzahl der Millisekunden jedes Ticks
tickZeit=2000
# Die Anzahl der Ticks, die der anfängliche
# Die Synchronisationsphase kann dauern
initLimit=10
# Die Anzahl der Ticks, die zwischen
# Senden einer Anfrage und Erhalten einer Bestätigung
syncLimit=5
# das Verzeichnis, in dem der Snapshot gespeichert ist.
# benutze /tmp nicht zur Speicherung, /tmp ist hier nur
# Beispiel sei Dank.
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/log
# der Port, an dem die Clients eine Verbindung herstellen
clientPort=2181
# die maximale Anzahl von Clientverbindungen.
# Erhöhen Sie diesen Wert, wenn Sie mehr Kunden bedienen müssen
#maxClientCnxns=60
#
# Lesen Sie unbedingt den Wartungsabschnitt der
# Administratorhandbuch vor dem Aktivieren der automatischen Bereinigung.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# Die Anzahl der Snapshots, die im Datenverzeichnis aufbewahrt werden sollen
#autopurge.snapRetainCount=3
# Bereinigungsaufgabenintervall in Stunden
# Auf „0“ setzen, um die automatische Bereinigungsfunktion zu deaktivieren
#autopurge.purgeInterval=1

Beschreibung der Konfigurationsparameter:

•tickTime: Die grundlegende Zeiteinheit, die für Berechnungen verwendet wird. Beispielsweise Sitzungstimeout: N*tickTime;
•initLimit: wird für Cluster verwendet, ermöglicht die anfängliche Verbindungszeit für Slave-Knoten, um sich mit dem Master-Knoten zu verbinden und zu synchronisieren, ausgedrückt als Vielfaches von tickTime;
•syncLimit: wird für Cluster verwendet, die Zeitspanne zum Senden von Nachrichten, Anforderungen und Antworten zwischen dem Masterknoten und den Slaveknoten (Heartbeat-Mechanismus);
•dataDir: Datenspeicherort;
•dataLogDir: Protokollverzeichnis;
•clientPort: Der für Clientverbindungen verwendete Port, Standard ist 2181

1.5 Inbetriebnahme

Da die Umgebungsvariablen konfiguriert wurden, können Sie es direkt mit dem folgenden Befehl starten:

zkServer.sh starten

1.6 Überprüfung

Überprüfen Sie mit JPS, ob der Prozess gestartet wurde. Wenn QuorumPeerMain angezeigt wird, bedeutet dies, dass der Prozess erfolgreich gestartet wurde.

[root@hadoop001 bin]# jps
3814 QuorumPeerMain

2. Aufbau einer Clusterumgebung#

Um eine hohe Verfügbarkeit des Clusters sicherzustellen, sollte die Anzahl der Knoten im Zookeeper-Cluster eine ungerade Zahl sein, also mindestens drei Knoten umfassen. Daher demonstrieren wir hier den Aufbau eines Clusters mit drei Knoten. Hier verwende ich drei Hosts zum Aufbau, die Hostnamen sind hadoop001, hadoop002 und hadoop003.

2.1 Konfiguration ändern#

Entpacken Sie ein Zookeeper-Installationspaket und ändern Sie dessen Konfigurationsdatei zoo.cfg wie folgt. Verwenden Sie anschließend den scp-Befehl, um das Installationspaket auf die drei Server zu verteilen:

tickZeit=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-cluster/data/
dataLogDir=/usr/local/zookeeper-cluster/log/
clientPort=2181
# server.1 Die 1 ist die Server-ID, die jede beliebige gültige Zahl sein kann. Sie gibt den Serverknoten an. Diese ID sollte in die Datei myid im Verzeichnis dataDir geschrieben werden. # Geben Sie den Inter-Cluster-Kommunikationsport und den Auswahlport an server.1=hadoop001:2287:3387
server.2=hadoop002:2287:3387
server.3=hadoop003:2287:3387

2.2 Knoten identifizieren#

Erstellen Sie eine neue MyID-Datei im DataDir-Verzeichnis der drei Hosts und schreiben Sie die entsprechende Knoten-ID. Der Zookeeper-Cluster identifiziert Clusterknoten über die MyID-Datei und kommuniziert mit Knoten über den oben konfigurierten Knotenkommunikationsport und Wahlport, um den Leader-Knoten zu wählen.

Erstellen Sie ein Speicherverzeichnis:

# Alle drei Hosts führen den Befehl mkdir -vp /usr/local/zookeeper-cluster/data/ aus.

Erstellen und schreiben Sie die Knoten-ID in die MyID-Datei:

# hadoop001 host echo "1" > /usr/local/zookeeper-cluster/data/myid
# hadoop002 host echo "2" > /usr/local/zookeeper-cluster/data/myid
# hadoop003 host echo "3" > /usr/local/zookeeper-cluster/data/myid

2.3 Starten Sie den Cluster#

Führen Sie auf jedem der drei Hosts die folgenden Befehle aus, um den Dienst zu starten:

/usr/app/zookeeper-cluster/zookeeper/bin/zkServer.sh starten

2.4 Cluster-Verifizierung#

Verwenden Sie nach dem Start zkServer.sh status, um den Status jedes Knotens im Cluster anzuzeigen. Wie in der Abbildung gezeigt: Die drei Knotenprozesse wurden erfolgreich gestartet, und hadoop002 ist der Führungsknoten, hadoop001 und hadoop003 sind Folgeknoten.

   

Weitere Artikel der Big Data-Reihe finden Sie unter GitHub Open Source Project: Erste Schritte mit Big Data

Zusammenfassen

Oben finden Sie eine Einführung in die Erstellung einer Zookeeper-Standalone-Umgebung und einer Cluster-Umgebung. Ich hoffe, dass es für alle hilfreich ist. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Zusammenfassung gängiger Befehle zum Erstellen von ZooKeeper3.4-Middleware unter CentOS7
  • Tutorial-Diagramm zum Erstellen eines Hadoop-Hochverfügbarkeitsclusters basierend auf ZooKeeper
  • So verwenden Sie Zookeeper zum Erstellen eines Konfigurationscenters in SpringCloud
  • Schritte zum Erstellen des Zookeeper-Verwaltungszentrums unter Linux
  • ActiveMQ basiert auf dem Master-Slave-System von Zookeeper (LevelDB Master/Slave).

<<:  Grafisches Tutorial zur Installation der MySQL 8.0.12 Winx64-Dekomprimierungsversion

>>:  So installieren und konfigurieren Sie die dekomprimierte Version von MySQL 8.0.12 unter Windows 10 mit grafischen Tutorials

Artikel empfehlen

So verwenden Sie Cursor-Trigger in MySQL

Cursor Die von der Auswahlabfrage zurückgegebenen...

Benutzerdefinierte Docker-Netzwerkcontainer-Verbindung

Inhaltsverzeichnis Vorwort -Link Benutzerdefinier...

Detaillierte Erklärung des CSS-Pseudoelements::marker

Dieser Artikel stellt ein interessantes Pseudoele...

Öffentliche kostenlose STUN-Server

Öffentliche kostenlose STUN-Server Wenn das SIP-T...

JavaScript implementiert die H5-Goldmünzenfunktion (Beispielcode)

Heute habe ich eine Aktivität für einen roten Ums...

Tiefgreifendes Verständnis der CSS @font-face-Leistungsoptimierung

In diesem Artikel werden hauptsächlich allgemeine...

HTML-Beispielcode zum Lesen und Anzeigen von Bildern in einem lokalen Ordner

Ein Zweck Wählen Sie auf der HTML-Seite einen lok...

Implementierungsbeispiel für dynamische Routing-Breadcrumbs für Elemente

Zu meistern: localStorage, Komponentenkapselung Ä...

Beispiel für einen reinen CSS3-Mindmap-Stil

Mindmap Er sieht wahrscheinlich so aus: Die meist...

Ausführliches Tutorial zur Installation von MySQL 5.6-ZIP-Paketen

Bisher haben wir alle Dateien mit der Endung .msi...