[PYTHON] Über localhost: Auf 4040 kann nicht zugegriffen werden, nachdem Spark mit Docker ausgeführt wurde

Nur die "Spark Web UI" von Spark (localhost: 4040) konnte aus irgendeinem Grund keine Verbindung herstellen, daher habe ich verschiedene Dinge untersucht, aber es gibt keine Lösung, und wenn Sie nicht daran gewöhnt sind, Menschen mit denselben Problemen Ich dachte es gäbe, also werde ich es zum ersten Mal posten. Aufgrund eines Fehlers, der während der Arbeit aufgetreten ist, haben wir keinen Code usw. veröffentlicht. Vielen Dank für Ihr Verständnis.

Umgebung

Bridge Python Container und Spark Container (Verbindungs-Woker) mit Docker Die Umgebungen "Pyspark" und "Java" sind in beiden Umgebungen installiert.

Referenz für den Umweltbau

Bis Sie einen Master und einen Worker of Spark mit Docker-Compose erziehen und pyspark ausführen https://qiita.com/hrkt/items/fe9b1162f7a08a07e812

Tor

Ich möchte in den Python Docker (Docker Exec ...) gehen, einen Spark-Submit durchführen und eine Verbindung zu localhost: 4040 herstellen, um die WebUI während der Verarbeitung zu überprüfen.

Über das Problem

Nach dem Booten stellt localhost: 8080 eine Verbindung her, 4040 kann jedoch aus irgendeinem Grund keine Verbindung herstellen

Lösung

  1. Zugriff auf localhost: 4040 nur, wenn Spark verarbeitet wird
  2. Ich habe Port 4040: 4040 in den Spark-Container von docker-compose.yml geschrieben, musste aber Port 4040: 4040 auf der Python-Seite schreiben, die Jobs verwaltet. (Dies ist diesmal der Fall)

Zusammenfassung

Ich konnte es durch das Lesen von StackOverFlow usw. überhaupt nicht verstehen, aber als ich meine Senioren fragte, wurde es auf einen Schlag gelöst. Ich möchte in der Infrastruktur stärker sein.

Bonus

Ich habe den Beispielcode in spark ausgeführt, aber als ich df.show () "Der erste Job hat keine Ressourcen akzeptiert. Überprüfen Sie die Benutzeroberfläche Ihres Clusters, um sicherzustellen, dass die Mitarbeiter registriert sind und über ausreichende Ressourcen verfügen." Ich habe die Speichereinstellungen geändert, weil ich nicht genügend Ressourcen hatte, aber ich konnte sie nicht lösen.

Ich habe den Beispielcode von hier ausgeliehen.

Behandeln Sie Argumente in PySpark-Skriptdateien https://blog.amedama.jp/entry/2018/03/17/113516

Referenzcode, auf den verwiesen wird

from pyspark import SparkConf
from pyspark import SparkContext
from pyspark.sql import SparkSession
def main():
    conf = SparkConf()
    conf.setAppName('example')
    sc = SparkContext(conf=conf)
    spark = SparkSession(sc)
    df = spark.sql('SELECT "Hello, World!" AS message')
    df.show()

Lösung

conf = SparkConf().setMaster('local')


Recommended Posts

Über localhost: Auf 4040 kann nicht zugegriffen werden, nachdem Spark mit Docker ausgeführt wurde
Es wurde der Fehler behoben, dass Rails-Befehle nach Verwendung der Entwicklungsumgebung mit Docker nicht verwendet werden konnten
Über die Sache, dass Fackelzusammenfassung wirklich verwendet werden kann, wenn ein Modell mit Pytorch erstellt wird
Über die Angelegenheit, dass das re.compiled-Objekt für das re.match-Muster verwendet werden kann
Es wurde ein Fehler behoben, bei dem node.surface mit python3 + mecab nicht abgerufen werden konnte
Angelegenheiten, die mit sklearn nicht importiert werden können
Über die Angelegenheit, die über Stichprobenfehler besorgt war
Kann aspect_ratio mit sympy.plotting nicht geändert werden? Über die Sache
Das Problem, dass der Befehl ifconfig nicht verwendet werden kann
Problemumgehung für Flask-Mail, die keine japanische UTF-8-Mail sendet (Python3)
Zu dem Problem, dass der Inhalt von Python print in Docker-Protokollen nicht sichtbar ist
Über den Fall, dass es nach dem Update mit Linux eine chinesische Schriftart wurde (Korrekturmethode)
Behandlung des Fehlers, dass ein HTTP-Abruffehler in gpg auftritt und der Schlüssel nicht abgerufen werden kann
Optionen bei der Installation von Bibliotheken, die nicht in pyenv weitergeleitet werden können
Lösung, wenn das Bild mit tkinter [python] nicht angezeigt werden kann
Beispiele und Lösungen, die mit scipy.optimize.least_squares nicht gut optimiert werden können
Ich habe die Vorbehandlung untersucht, die mit PyCaret durchgeführt werden kann