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

Detaillierte Erläuterung des Linux-Textverarbeitungsbefehls sort

sort Den Inhalt einer Textdatei sortieren Verwend...

Dynamische SQL-Anweisungsanalyse in Mybatis

Dieser Artikel stellt hauptsächlich die dynamisch...

Eine dauerhafte Lösung für MySQLs Unfähigkeit, Chinesisch zu erkennen

In den meisten Fällen unterstützt MySQL Chinesisc...

Allgemeine Struktur-Tags in XHTML

Struktur Text, Kopf, HTML, Titel Text abbr, Akron...

CSS3-Textanimationseffekte

Wirkung html <div Klasse="sp-container&qu...

Detaillierte Erläuterung der MySQL-Filterreplikationsideen

Inhaltsverzeichnis MySQL gefilterte Replikation I...

Analyse der Ursache des Docker-Fehlers Beendet (1) vor 4 Minuten

Docker-Fehler 1. Überprüfen Sie die Ursache Docke...

Implementierung einer Suchfeldfunktion mit Suchsymbol basierend auf HTML-CSS

Vorwort Ich möchte Ihnen zeigen, wie Sie ein Such...

Beispielanalyse von MySQL-Start- und Verbindungsmethoden

Inhaltsverzeichnis So starten Sie mysqld Methode ...

Chrome 4.0 unterstützt GreaseMonkey-Skripte

GreaseMokey (die Chinesen nennen es Grease Monkey...

Detaillierte Erklärung des Skript-Debugging-Mechanismus in Bash

Ausführen des Skripts im Debugmodus Sie können da...