Vorwort
Vor Beginn ist zu beachten, dass es keine notwendige Verbindung zwischen Storm und Kafka Cluster -Installation gibt. Ich habe diese beiden zusammen geschrieben, weil sie beide von Zookeeper verwaltet und auf die JDK -Umgebung angewiesen sind. Um die Konfiguration nicht zu wiederholen, habe ich diese beiden zusammen geschrieben. Wenn Sie nur einen benötigen, wählen Sie einfach die von Ihnen ausgewählte Lektüre aus. Ich werde unten nicht viel sagen. Schauen wir uns die detaillierte Einführung zusammen an.
Die Abhängigkeiten dieser beiden sind wie folgt:
Hinweis: Storm1.0 und Kafka2.0 erfordern JDK mindestens 1,7 und Zookeeper3.0 oder höher.
Adresse herunterladen:
JDK -Installation
Jeder Computer muss mit JDK installiert werden! ! !
HINWEIS: Im Allgemeinen wird CentOS mit OpenJDK geliefert, aber wir verwenden Oracles JDK. Sie müssen also Deinstallation OpenJDK schreiben und dann den in Oracle heruntergeladenen JDK installieren. Wenn Sie deinstalliert haben, können Sie diesen Schritt überspringen.
Geben Sie zuerst java -version ein
Überprüfen Sie, ob JDK installiert ist. Wenn es installiert ist, aber die Version nicht geeignet ist, deinstallieren Sie sie.
eingeben
rpm -qa | Grep Java
Informationen anzeigen
Dann eingeben:
rpm -e -nodeps "Sie möchten JDK -Informationen deinstallieren"
Zum Beispiel: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
Nachdem bestätigt wurde, dass es weg ist, entpacken Sie den heruntergeladenen JDK
tar -xvf jdk-8u144-linux-x64.tar.gz
Gehen Sie in den Ordner opt/java, erstellen Sie neue ohne sie und benennen Sie den Ordner in JDK1.8 um.
MV JDK1.8.0_144 /opt /javamv jdk1.8.0_144 jdk1.8
Bearbeiten Sie dann die Profildatei und fügen Sie die folgende Konfiguration hinzu
eingeben:
vim /etc /profil
Hinzufügen zu:
exportieren java_home =/opt/java/jdk1.8export jre_home =/opt/java/jdk1.8/jreexport classpath =. Path = .: $ {java_home}/bin: $ pathNach erfolgreicher Addition eingeben
Quelle /etc /Profiljava -Verssion
Überprüfen Sie, ob die Konfiguration erfolgreich ist
Zookeeper -Umgebung Installation
1. Dokumentvorbereitung
Entpacken Sie die heruntergeladene Zookeeper -Konfigurationsdatei
Geben Sie unter Linux ein:
tar -xvf zookeeper -3.4.10.tar.gz
Gehen Sie dann zu /opt /zookeeper, erstellen Sie eine neue ohne ihn und benennen Sie den Ordner dann in Zookeeper3.4 um
eingeben
MV Zookeeper-3.4.10 /opt /zookeepermv Zookeeper-3.4.10 Zookeeper3.4
2. Umgebungskonfiguration
Bearbeiten /etc /Profildatei
eingeben:
exportieren zk_home =/opt/zookeeper/zookeeper3.4 export path = .: $ {java_home}/bin: $ {zk_home}/bin: $ patheingeben:
Quelle /etc /Profil
Machen Sie die Konfiguration effektiv
3. Ändern Sie die Konfigurationsdatei
3.3.1 Dateien und Verzeichnisse erstellen
Erstellen Sie diese Verzeichnisse auf den Servern im Cluster
mkdir/opt/zookeeper/data mkdir/opt/zookeeper/datalog
Und erstellen Sie die MyID -Datei in/opt/zookeeper/datenverzeichnis
eingeben:
Berühren Sie Myid
Ändern Sie nach erfolgreicher Erstellung die MyID -Datei.
Zur Bequemlichkeit habe ich den Inhalt von MyID -Dateien von Master, Slave1 und SLAVE2 auf 1, 2, 3 geändert
3.3.2 Neue Zoo.cfg erstellen
Wechseln Sie zu /opt/zookeeper/zookeeper3.4/conf Verzeichnis
Wenn es keine zoo.cfg -Datei gibt, kopieren Sie die Datei zoo_sample.cfg und benennen Sie sie in zoo.cfg um.
Ändern Sie diese neu erstellte Zoo.cfg -Datei
datadir =/opt/zookeper/datadatalogdir =/opt/zookeeper/datalogserver.1 = Master: 2888: 3888server.2 = Slave1: 2888: 3888server.3 = Slave2: 2888: 3888
Beschreibung: Der Client -Port ist, wie der Name schon sagt, der Port, an dem der Client eine Verbindung zum Zookeeper -Dienst herstellt. Dies ist ein TCP -Port. Das Datalogdir ist das Bestellprotokoll (Wal). Datadir setzt eine Momentaufnahme von Speicherdatenstrukturen ein, was die schnelle Wiederherstellung erleichtert. Um die Leistung zu maximieren, wird im Allgemeinen empfohlen, Datadir und Datalogdir auf verschiedene Festplatten zu teilen, damit die Schreibmerkmale des Festplattenauftrags vollständig genutzt werden können. Datadir und Datalogdir müssen selbst erstellt werden, und die Verzeichnisse können von sich selbst formuliert werden und können entsprechend sein. Diese 1 in Server.1 muss dem Wert in der MyID -Datei im Datadir -Verzeichnis auf dem Master -Computer entsprechen. Diese 2 in Server.2 muss dem Wert in der MyID -Datei im Datadir -Verzeichnis auf SLAVE1 entsprechen. Diese 3 in Server.3 muss den Werten in der MyID -Datei im Datadir -Verzeichnis auf SLAVE2 entsprechen. Natürlich können Sie die Werte verwenden, wie Sie möchten, genau wie sie entsprechen. Die Portnummern von 2888 und 3888 können ebenfalls beiläufig verwendet werden, da es keine Rolle spielt, ob Sie dasselbe für verschiedene Maschinen verwenden.
1.Tickime: CS -Kommunikation Herzbeat Nummer
Das Zeitintervall zwischen Zookeeper -Servern oder zwischen Clients und Servern behält Herzschläge bei, dh jede Tick -Time -Zeit sendet einen Herzschlag. Die Zettung ist in Millisekunden.
tickTime=2000
2.Initlimit: lf anfängliche Kommunikationszeitbegrenzung
Die maximale Anzahl von Herzschlägen (Anzahl der Ticktimes), die während der ersten Verbindung zwischen dem Follower -Server (f) und dem Leader -Server (l) im Cluster tolerieren können.
initLimit=10
3.Synclimit: LF Synchronous Communication Frimit Limit
Die maximale Anzahl von Herzschlägen (Anzahl der Ticktimes), die zwischen Anfragen und Antworten zwischen Follower -Servern und Leader -Servern im Cluster toleriert werden können.
syncLimit=5
Übertragen Sie immer noch Zookeeper auf andere Maschinen. Denken Sie daran, das MyID unter/opt/zookeeper/Daten zu ändern, dies kann nicht konsistent sein.
eingeben:
scp -r/opt/zookeeper root@slave1:/optscp -r/opt/zookeeper root@slave2:/opt
4. Starten Sie Zookeeper
Da Zookeeper ein Wahlsystem ist, ist seine Master-Sklaven-Beziehung nicht wie Hadoop angegeben. Einzelheiten finden Sie in der offiziellen Dokumentation.
Starten Sie Zookeeper auf jeder Maschine, nachdem Sie Zookeeper erfolgreich konfiguriert haben.
Wechseln Sie zum Zookeeper -Verzeichnis
CD /opt/zookeeper/zookeeper3.4/bin
eingeben:
ZkServer.sh Start
Nach erfolgreichem Startup
Statuseingabe anzeigen:
ZkServer.sh Status
Sie können den Anführer und den Anhänger von Zookeeper auf jeder Maschine anzeigen
Installation der Sturmumgebung
1. Dokumentvorbereitung
Dekomprimieren Sie die heruntergeladene Sturmkonfigurationsdatei
Geben Sie unter Linux ein:
tar -xvf apache-storm-1.1.1.tar.gz
Bewegen Sie es dann in /opt /storm, erstellen Sie es, wenn es nicht existiert, und benennen Sie den Ordner in Storm1.1 um
eingeben
MV Apache-Storm-1.1.1 /opt /storm MV Apache-Storm-1.1.1 Storm1.1
Bearbeiten /etc /Profildatei
Hinzufügen zu:
exportieren storm_home =/opt/storm/storm1.1export path = .: $ {java_home}/bin: $ {zk_home}/bin: $ {storm_home}/bin: $ path Geben Sie die Sturmversion ein, um Versionsinformationen anzuzeigen
3. Ändern Sie die Konfigurationsdatei
Storm.yarm of storm/conf bearbeiten.
Machen Sie die folgenden Änderungen:
eingeben:
vim storm.yarm
slave.zookeeper.servers: - "master" - "slave1" - "slave2" storm.local.dir: "/root/storm"nimbus.seeds: [" Master "] Supervisor
veranschaulichen:
1. Storm.Zookeeper.Servers ist die Serviceadresse des angegebenen Zookeeper.
Da die Speicherinformationen von Storm auf Zookeeper liegen, muss die Serviceadresse von Zookeeper konfiguriert werden. Wenn Zookeeper eine eigenständige Maschine ist, müssen Sie nur eine angeben!
2.LOCAL.DIR repräsentiert das Speicherverzeichnis.
Die Dämonen von Nimbus und Supervisor müssen ein Verzeichnis auf der lokalen Festplatte aufbewahren, um eine kleine Menge Staat aufzubewahren (wie Gläser, Bekenntnisse usw.). Kann auf jeder Maschine erstellt und Berechtigungen erteilt werden.
3.. Nimbus.Seeds repräsentiert den Kandidaten -Host.
Der Arbeiter muss wissen, welcher Maschine der Hostkandidat ist (Zookeeper Cluster ist Wähler), damit Topologie- und Bekenntnisse heruntergeladen werden können.
V.
Für jede Supervisor -Maschine können wir dies verwenden, um zu konfigurieren, wie viele Mitarbeiter auf dieser Maschine ausgeführt werden. Jeder Arbeiter verwendet einen separaten Port, um Nachrichten zu empfangen, die auch definiert, welche Ports für die Verwendung geöffnet sind. Wenn Sie hier 5 Ports definieren, bedeutet dies, dass bis zu 5 Mitarbeiter auf diesem Supervisor -Knoten ausgeführt werden können. Wenn 3 Ports definiert sind, bedeutet dies, dass bis zu 3 Arbeitnehmer ausgeführt werden können. Standardmäßig (d. H. In Standards.yaml konfiguriert) werden vier Mitarbeiter auf den Ports 6700, 6701, 6702 und 6703 ausgeführt.
Der Supervisor startet diese vier Arbeiter nicht sofort nach dem Start. Stattdessen beginnt es nur, wenn die zugewiesene Aufgabe akzeptiert wird. Die spezifische Anzahl von Arbeitnehmern, die zu beginnen müssen, muss auf der Grundlage der Anzahl der Arbeitnehmer in diesem Vorgesetzten in der Topologie ermittelt werden. Wenn die angegebene Topologie nur von einem Arbeiter ausgeführt wird, startet der Vorgesetzte einen Arbeiter und startet nicht alle.
Hinweis: Vor diesen Konfigurationen stehen keine Leerzeichen! ! ! Andernfalls wird ein Fehler gemeldet. Der Hostname (Mapping) wird hier verwendet und die IP kann auch verwendet werden. Die tatsächliche Situation basiert auf Ihren eigenen.
Sie können den SCP -Befehl oder die FTP -Software verwenden, um Sturm auf andere Maschinen zu kopieren.
Nach einer erfolgreichen Konfiguration können Sie Storm beginnen, aber stellen Sie sicher, dass JDK und Zookeeper korrekt installiert wurden und dass Zookeeper erfolgreich gestartet wurde.
4. Starten Sie den Sturm
Wechseln Sie zum Sturm/Bin -Verzeichnis
Starten Sie die Eingabe auf dem Master -Knoten:
Storm Nimbus>/dev/null 2> & 1 & 1 &
Greifen Sie auf die Eingabe der Weboberfläche (Master) zu:
Sturm UI
Geben Sie vom Knoten (Slave1, Slave2) ein:
Storm Supervisor>/dev/null 2> & 1 & 1 &
Geben Sie in die Browserschnittstelle ein: Port 8080
Die Schnittstelle wird erfolgreich geöffnet, was darauf hinweist, dass die Umgebungskonfiguration erfolgreich ist:
Kafkas Umgebungsinstallation
Kafka ist ein hochdurchsatz-Streaming-Streaming-Nachrichtensystem, mit dem aktive Streaming-Daten verarbeitet werden, z.
1. Dokumentvorbereitung
Dekomprimieren Sie die heruntergeladene Kafka -Konfigurationsdatei
Geben Sie unter Linux ein:
tar -xvf kafka_2.12-1.0.0.tgz
Bewegen Sie es dann in /opt /kafka, erstellen Sie es, wenn es nicht existiert, und benennen Sie den Ordner in Kafka2.12 um
eingeben
MV Kafka_2.12-1.0.0 /opt /kafka mv kafka_2.12-1.0.0 Kafka2.12
2. Umgebungskonfiguration
Bearbeiten /etc /Profildatei
eingeben:
exportieren kafka_home =/opt/kafka/kafka2.12 Export Path = .: $ {java_home}/bin: $ {kafka_home}/bin: $ {zk_home}/bin: $ patheingeben:
Quelle /etc /Profil
Machen Sie die Konfiguration effektiv
3. Ändern Sie die Konfigurationsdatei
Hinweis: Wenn es sich um eine eigenständige Maschine handelt, kann die KAFKA-Konfigurationsdatei direkt im Bin-Verzeichnis gestartet werden, ohne sie zu ändern. Aber wir sind hier ein Cluster, also ändern Sie es einfach leicht.
Wechseln Sie zum Kafka/Config -Verzeichnis
Bearbeiten Sie die Datei server.properties
Was geändert werden muss, ist die Adresse von Zookeeper:
Suchen Sie die Zookeeper -Konfiguration, geben Sie die Adresse des Zookeeper -Clusters an und ändern Sie sie wie folgt
Zookeeper.Connect = Master: 2181, Slave1: 2181, Slave2: 2181Zookeeper.Connection.Timeout.MS = 6000
Andere Optionen für die Änderung sind
1, num.Partitions repräsentiert die angegebene Partition, Standard ist 1
2. Log.Dirs Kafka Log Path, ändern Sie dies einfach nach persönlichen Bedürfnissen.
...
Hinweis: Es gibt andere Konfigurationen, Sie können die offizielle Dokumentation anzeigen. Wenn es keine besonderen Anforderungen gibt, verwenden Sie einfach den Standard.
Denken Sie nach der Konfiguration daran, den SCP -Befehl zu verwenden, um an andere Cluster zu übertragen!
4. Starten Sie Kafka
Cluster jeder Cluster muss betrieben werden!
Wechseln Sie zum Kafka/Bin -Verzeichnis
eingeben:
kafka-server-start.sh
Geben Sie dann den JPS -Namen ein, um festzustellen, ob er erfolgreich beginnt:
Nach erfolgreichem Start können Sie einen einfachen Test durchführen
Erstellen Sie zuerst ein Thema
eingeben:
kafka-topics
Beschreibung: Hier ist ein Thema namens T_Test, und 5 Partitionen werden angegeben. Jede Partition enthält 2 Repliken. Wenn die Partition nicht angegeben ist, ist die Standardpartition in der Konfigurationsdatei konfiguriert.
Dann Produktionsdaten
eingeben:
Kafka-Console-Producer.sh-Broker-List Master: 9092--topic t_test
Sie können Strg+d zum Beenden verwenden
Dann öffnen wir ein weiteres Xshell -Fenster
Verbrauchen
eingeben:
kafka-console-consumer.sh-Zookeeper Master: 2181--topic t_test-From-Beinging
Sie können Strg+C zum Ausgang verwenden
Sie können sehen, dass die Daten normal verbraucht wurden.
5. Einige häufig verwendete Befehle von Kafka
1. Start und schließen Sie Kafka
bin/kafka-server-start.sh config/server.Properties >>/dev/null 2> & 1 & bin/kafka-server-stop.sh
2. Überprüfen Sie die Meldungswarteschlange und die spezifische Warteschlange in der Kafka -Cluster
Sehen Sie sich alle Themen im Cluster an
Kafka-topics.sh-Zookeeper Master: 2181, Slave1: 2181, Slave2: 2181-List
Themeninformationen anzeigen
Kafka-topics.sh-Zookeeper Master: 2181-De-Cribe--topic t_test
3. Erstellen Sie ein Thema
kafka-topics
4. Produktionsdaten und Verbrauchsdaten
Kafka-Console-Producer.sh-Broker-List Master: 9092--topic t_test
Strg+D Exit
kafka-console-consumer.sh-Zookeeper Master: 2181--topic t_test-From-Beinging
Strg+C Exit
5.Kafkas Löschbefehl
Kafka-topics.sh--Delete-Zookeeper Master: 2181--topic t_test
6. Partition hinzufügen
Kafka-topics.sh-Alter--Topict_test-Zookeeper Master: 2181-Partitionen 10
andere
Verweis auf das offizielle Dokument für Storm Environment Construction: http://storm.apache.org/releases/1.1.1/seting-up-a-storm-cluster.html
KAFKA -Umweltkonstruktionsreferenz offizielles Dokument: http://kafka.apache.org/quickstart
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.