Spark Standalone-Cluster-Installation und Testfälle
1. Experimentelle Umgebung
2. Gesamtschritte
- Bereiten Sie mindestens 3 Hosts vor
- Ändern Sie den Hostnamen und die Zuordnungsbeziehung zwischen IP und Hostnamen (dieser Vorgang ist für alle 3 Hosts erforderlich).
- Führen Sie einen passwortfreien Anmeldevorgang durch (erforderlich für alle 3 Hosts). Wenn dies bereits geschehen ist, können Sie es löschen und neu generieren.
- Konfigurieren Sie Spark auf dem Host als Masterknoten
- Es ist notwendig, die auf dem Masterknoten konfigurierte Spark-Umgebung auf den Worker-Host zu kopieren.
- Starten Sie den Spark-Cluster (führen Sie start-all.sh auf dem Hostknoten aus).
- Überprüfen Sie wie folgt, ob die Bereitstellung erfolgreich ist:
- Überprüfen Sie den Prozess:
Master-Knoten: Master-
Slave-Knoten: Worker - Besuchen Sie die SparkUI-Schnittstelle: http://ip|hostname:8080
- Hinweis:
Wenn Sie über den Hostnamen + die Portnummer auf die Benutzeroberfläche zugreifen müssen, müssen Sie die
Zuordnungsbeziehung zwischen dem Hostnamen der virtuellen Maschine und der IP-Adresse der virtuellen Maschine unter Windows konfigurieren.
Unter Laufwerk C: Fenster->System32->Treiber ->etc/hosts
- Überprüfen Sie den Prozess:
- Führen Sie den Test durch, um die Wortanzahl zu demonstrieren
3. Detaillierte Schritte
-
Bereiten Sie mindestens 3 Hosts vor.
Die hier verwendeten virtuellen Maschinen sind drei virtuelle Maschinenhosts, wie unten gezeigt:
-
Ändern Sie den Hostnamen und die Zuordnungsbeziehung zwischen IP und Hostname (
3台主机都需要操作
)- Führen Sie den Befehl aus, um den Hostnamen zu ändern:
hostnamectl --static set-hostname hadoop004
- Bearbeiten Sie die Datei /etc/hosts und fügen Sie am Ende der Datei die folgenden Informationen hinzu:
192.168.76.129 hadoop002 192.168.76.128 hadoop003 192.168.76.132 hadoop004
三台虚拟机主机配置的内容都一样
- Führen Sie den Befehl aus, um den Hostnamen zu ändern:
-
Führen Sie einen passwortfreien Anmeldevorgang durch (
3台主机都需操作
). Wenn Sie dies bereits zuvor getan haben, können Sie es löschen und neu generieren.ssh-keygen -t rsa (执行命令后,只需连续敲三次回车键即可) cd ~/.ssh/ ssh-copy-id -i id_rsa.pub root@hadoop002 ssh-copy-id -i id_rsa.pub root@hadoop003 ssh-copy-id -i id_rsa.pub root@hadoop004
Hinweis :
三台主机都需要操作
-
Konfigurieren Sie auf dem Host des Master-Knotens (
hadoop002
) und geben Sie das Verzeichnis conf unter dem Spark-Installationsverzeichnis ein.- Ändern Sie die Konfigurationsdatei: spark-env.sh (sie existiert nicht im Voraus und muss erstellt oder kopiert werden)
export JAVA_HOME=/training/jdk1.8.0_171 export SPARK_MASTER_HOST=hadoop002 export SPARK_MASTER_PORT=7077 #history 配置历史服务 export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=/training/spark-2.4.8-bin-hadoop2.7/history"
history目录需要事先创建
- Ändern Sie die Slaves-Datei (sie existiert vorher nicht, Sie müssen die Vorlagendatei erstellen oder kopieren, um sie zu erhalten) und ändern Sie localhost wie folgt in den Hostnamen des Slave-Knotens: Kopieren Sie die Vorlagendatei, um Folgendes zu erhalten
:cp slaves.template slaves
hadoop003 hadoop004
- Kopieren Sie spark-defaults.conf.template nach spark-defaults.conf und fügen Sie den folgenden Inhalt hinzu:
spark.eventLog.enabled true spark.eventLog.dir /training/spark-2.4.8-bin-hadoop2.7/logs
- Ändern Sie die Konfigurationsdatei: spark-env.sh (sie existiert nicht im Voraus und muss erstellt oder kopiert werden)
-
Sie müssen die auf dem Masterknoten konfigurierte Spark-Umgebung auf den Worker-Host kopieren und den folgenden Befehl ausführen:
scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop003:/training/ scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop004:/training/
-
Starten Sie den Spark-Cluster, geben Sie den Sbin des Spark-Installationsverzeichnisses auf dem Hostknoten ein und führen Sie Folgendes aus:
./start-all.sh
-
Überprüfen Sie wie folgt, ob die Bereitstellung erfolgreich ist:
- Überprüfen Sie den Prozess. Das Vorhandensein des folgenden Prozesses zeigt an, dass die Konfiguration erfolgreich war:
Master-Knoten: Master-
Slave-Knoten: Worker - Besuchen Sie die SparkUI-Schnittstelle: http://ip|hostname:8080
注意事项
:
Wenn Sie über Hostnamen + Portnummer auf die Benutzeroberfläche zugreifen müssen, müssen Sie die
Zuordnungsbeziehung zwischen dem Hostnamen der virtuellen Maschine und der IP-Adresse der virtuellen Maschine unter Windows konfigurieren.
Unter dem Laufwerk C: Fenster->System32->Treiber- >etc/hosts
- Überprüfen Sie den Prozess. Das Vorhandensein des folgenden Prozesses zeigt an, dass die Konfiguration erfolgreich war:
-
Führen Sie den Test durch, um die Wortanzahl zu demonstrieren
- Testdaten vorbereiten:
Erstellen Sie eine neue Datei „word.txt“ im Verzeichnis „/tools“ auf dem Masterknoten (hadoop002) und fügen Sie den folgenden Inhalt hinzu:I love Guizhou I love Guiyang Guiyang is the capital of Guizhou
- Senden Sie die Datei word.txt an das Verzeichnis, das den Slave-Knoten (hadoop003 und hadoop004) entspricht, und führen Sie Folgendes aus:
scp -r word.txt root@hadoop003:/tools/ scp -r word.txt root@hadoop004:/tools/
- Starten Sie Spark-Shell, geben Sie das bin-Verzeichnis des Spark-Installationsverzeichnisses ein und führen Sie es aus:
./spark-shell --master spark://hadoop002:7077 --executor-memory 1g --total-executor-cores 2
Nach erfolgreichem Start wird die folgende Schnittstelle angezeigt:
- Schreiben Sie den folgenden Code und führen Sie ihn aus. Drücken Sie zum Ausführen die Eingabetaste
sc.textFile("file:///tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("file:///tools/results/spark/wc")
sc.textFile("/tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/tools/results/spark/wc")
- Sehen Sie sich die Ergebnisdatei an: Geben Sie das Verzeichnis /tools/results/spark/wc unter dem Slave-Knoten hadoop003 ein und sehen Sie sich die folgenden Dateien an: Geben Sie das
Verzeichnis _temporary ein und stellen Sie sicher, dass es nur ein Verzeichnis mit dem Verzeichnisnamen gibt0
. Geben Sie das Verzeichnis ein0
. und siehe Folgendes:
Geben Sie das Verzeichnis unter dem roten Kästchen im Bild oben ein und sehen Sie sich die folgende Datei an:
Teil-00000 ist die Ergebnisdatei. Überprüfen Sie den Dateiinhalt:
Führen Sie den gleichen Vorgang wie oben unter dem Slave-Knoten hadoop004 aus, und Sie werden es tun Sehen Sie, dass die Ergebnisdatei Teil 00001 ist. Der Inhalt lautet wie folgt:
Zu diesem Zeitpunkt ist der gesamte Vorgang abgeschlossen! ! ! ! Nennen es einen Tag! ! !
- Testdaten vorbereiten:
Spark Standalone-Cluster-Installation und Testfälle
1. Experimentelle Umgebung
2. Gesamtschritte
- Bereiten Sie mindestens 3 Hosts vor
- Ändern Sie den Hostnamen und die Zuordnungsbeziehung zwischen IP und Hostnamen (dieser Vorgang ist für alle 3 Hosts erforderlich).
- Führen Sie einen passwortfreien Anmeldevorgang durch (erforderlich für alle 3 Hosts). Wenn dies bereits geschehen ist, können Sie es löschen und neu generieren.
- Konfigurieren Sie Spark auf dem Host als Masterknoten
- Es ist notwendig, die auf dem Masterknoten konfigurierte Spark-Umgebung auf den Worker-Host zu kopieren.
- Starten Sie den Spark-Cluster (führen Sie start-all.sh auf dem Hostknoten aus).
- Überprüfen Sie wie folgt, ob die Bereitstellung erfolgreich ist:
- Überprüfen Sie den Prozess:
Master-Knoten: Master-
Slave-Knoten: Worker - Besuchen Sie die SparkUI-Schnittstelle: http://ip|hostname:8080
- Hinweis:
Wenn Sie über den Hostnamen + die Portnummer auf die Benutzeroberfläche zugreifen müssen, müssen Sie die
Zuordnungsbeziehung zwischen dem Hostnamen der virtuellen Maschine und der IP-Adresse der virtuellen Maschine unter Windows konfigurieren.
Unter Laufwerk C: Fenster->System32->Treiber ->etc/hosts
- Überprüfen Sie den Prozess:
- Führen Sie den Test durch, um die Wortanzahl zu demonstrieren
3. Detaillierte Schritte
-
Bereiten Sie mindestens 3 Hosts vor.
Die hier verwendeten virtuellen Maschinen sind drei virtuelle Maschinenhosts, wie unten gezeigt:
-
Ändern Sie den Hostnamen und die Zuordnungsbeziehung zwischen IP und Hostname (
3台主机都需要操作
)- Führen Sie den Befehl aus, um den Hostnamen zu ändern:
hostnamectl --static set-hostname hadoop004
- Bearbeiten Sie die Datei /etc/hosts und fügen Sie am Ende der Datei die folgenden Informationen hinzu:
192.168.76.129 hadoop002 192.168.76.128 hadoop003 192.168.76.132 hadoop004
三台虚拟机主机配置的内容都一样
- Führen Sie den Befehl aus, um den Hostnamen zu ändern:
-
Führen Sie einen passwortfreien Anmeldevorgang durch (
3台主机都需操作
). Wenn Sie dies bereits zuvor getan haben, können Sie es löschen und neu generieren.ssh-keygen -t rsa (执行命令后,只需连续敲三次回车键即可) cd ~/.ssh/ ssh-copy-id -i id_rsa.pub root@hadoop002 ssh-copy-id -i id_rsa.pub root@hadoop003 ssh-copy-id -i id_rsa.pub root@hadoop004
Hinweis :
三台主机都需要操作
-
Konfigurieren Sie auf dem Host des Master-Knotens (
hadoop002
) und geben Sie das Verzeichnis conf unter dem Spark-Installationsverzeichnis ein.- Ändern Sie die Konfigurationsdatei: spark-env.sh (sie existiert nicht im Voraus und muss erstellt oder kopiert werden)
export JAVA_HOME=/training/jdk1.8.0_171 export SPARK_MASTER_HOST=hadoop002 export SPARK_MASTER_PORT=7077 #history 配置历史服务 export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=/training/spark-2.4.8-bin-hadoop2.7/history"
history目录需要事先创建
- Ändern Sie die Slaves-Datei (sie existiert vorher nicht, Sie müssen die Vorlagendatei erstellen oder kopieren, um sie zu erhalten) und ändern Sie localhost wie folgt in den Hostnamen des Slave-Knotens: Kopieren Sie die Vorlagendatei, um Folgendes zu erhalten
:cp slaves.template slaves
hadoop003 hadoop004
- Kopieren Sie spark-defaults.conf.template nach spark-defaults.conf und fügen Sie den folgenden Inhalt hinzu:
spark.eventLog.enabled true spark.eventLog.dir /training/spark-2.4.8-bin-hadoop2.7/logs
- Ändern Sie die Konfigurationsdatei: spark-env.sh (sie existiert nicht im Voraus und muss erstellt oder kopiert werden)
-
Sie müssen die auf dem Masterknoten konfigurierte Spark-Umgebung auf den Worker-Host kopieren und den folgenden Befehl ausführen:
scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop003:/training/ scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop004:/training/
-
Starten Sie den Spark-Cluster, geben Sie den Sbin des Spark-Installationsverzeichnisses auf dem Hostknoten ein und führen Sie Folgendes aus:
./start-all.sh
-
Überprüfen Sie wie folgt, ob die Bereitstellung erfolgreich ist:
- Überprüfen Sie den Prozess. Das Vorhandensein des folgenden Prozesses zeigt an, dass die Konfiguration erfolgreich war:
Master-Knoten: Master-
Slave-Knoten: Worker - Besuchen Sie die SparkUI-Schnittstelle: http://ip|hostname:8080
注意事项
:
Wenn Sie über Hostnamen + Portnummer auf die Benutzeroberfläche zugreifen müssen, müssen Sie die
Zuordnungsbeziehung zwischen dem Hostnamen der virtuellen Maschine und der IP-Adresse der virtuellen Maschine unter Windows konfigurieren.
Unter dem Laufwerk C: Fenster->System32->Treiber- >etc/hosts
- Überprüfen Sie den Prozess. Das Vorhandensein des folgenden Prozesses zeigt an, dass die Konfiguration erfolgreich war:
-
Führen Sie den Test durch, um die Wortanzahl zu demonstrieren
- Testdaten vorbereiten:
Erstellen Sie eine neue Datei „word.txt“ im Verzeichnis „/tools“ auf dem Masterknoten (hadoop002) und fügen Sie den folgenden Inhalt hinzu:I love Guizhou I love Guiyang Guiyang is the capital of Guizhou
- Senden Sie die Datei word.txt an das Verzeichnis, das den Slave-Knoten (hadoop003 und hadoop004) entspricht, und führen Sie Folgendes aus:
scp -r word.txt root@hadoop003:/tools/ scp -r word.txt root@hadoop004:/tools/
- Starten Sie Spark-Shell, geben Sie das bin-Verzeichnis des Spark-Installationsverzeichnisses ein und führen Sie es aus:
./spark-shell --master spark://hadoop002:7077 --executor-memory 1g --total-executor-cores 2
Nach erfolgreichem Start wird die folgende Schnittstelle angezeigt:
- Schreiben Sie den folgenden Code und führen Sie ihn aus. Drücken Sie zum Ausführen die Eingabetaste
sc.textFile("file:///tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("file:///tools/results/spark/wc")
sc.textFile("/tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/tools/results/spark/wc")
- Sehen Sie sich die Ergebnisdatei an: Geben Sie das Verzeichnis /tools/results/spark/wc unter dem Slave-Knoten hadoop003 ein und sehen Sie sich die folgenden Dateien an: Geben Sie das
Verzeichnis _temporary ein und stellen Sie sicher, dass es nur ein Verzeichnis mit dem Verzeichnisnamen gibt0
. Geben Sie das Verzeichnis ein0
. und siehe Folgendes:
Geben Sie das Verzeichnis unter dem roten Kästchen im Bild oben ein und sehen Sie sich die folgende Datei an:
Teil-00000 ist die Ergebnisdatei. Überprüfen Sie den Dateiinhalt:
Führen Sie den gleichen Vorgang wie oben unter dem Slave-Knoten hadoop004 aus, und Sie werden es tun Sehen Sie, dass die Ergebnisdatei Teil 00001 ist. Der Inhalt lautet wie folgt:
Zu diesem Zeitpunkt ist der gesamte Vorgang abgeschlossen! ! ! ! Nennen es einen Tag! ! !
- Testdaten vorbereiten: