当我使用spark-submit for python脚本时,Spark master不会在UI中显示正在运行的应用程序

时间:2016-12-01 09:16:13

标签: apache-spark apache-spark-standalone

<master_IP>:8081 The image shows 8081 UI.当我启动scala shell或pyspark shell时,master显示正在运行的应用程序。但是当我使用spark-submit运行python脚本时,master不会显示任何正在运行的应用程序。这是我使用的命令:spark-submit --master spark://localhost:7077 sample_map.py。 Web UI位于:4040。我想知道我是否以正确的方式提交脚本,或者如果spark-submit从未真正显示正在运行的应用程序。

localhost:8080<master_ip>:8080不对我开放,但<master_ip>:8081会打开。它显示了执行者信息。

这些是我在spark-env.sh中的配置:

export SPARK_EXECUTOR_MEMORY=512m 
export SPARK_MASTER_WEBUI_PORT=4040
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_INSTANCES=2 
export SPARK_WORKER_DIR=/opt/worker
export SPARK_DAEMON_MEMORY=512m
export SPARK_LOCAL_DIRS=/tmp/spark  
export SPARK_MASTER_IP 'splunk_dep'

我正在使用CentOSpython 2.7spark-2.0.2-bin-hadoop2.7.

4 个答案:

答案 0 :(得分:2)

您可以打开spark master的Web UI,默认情况下为http://localhost:8080,以查看正在运行的应用程序(在独立群集模式下):Spark Master UI

如果有多个应用正在运行 - 它们将绑定到端口4040,4041,4042 ...

  

您只需在网络浏览器中打开http://:4040即可访问此界面。如果多个SparkContexts在同一主机上运行,​​它们将绑定到以4040(4041,4042等)开头的连续端口。

答案 1 :(得分:0)

您是在运行应用程序时还是在完成执行后访问SPARK-UI?

尝试添加一些代码,这些代码会等待按键(因此火花执行不会结束) - 看看它是否解决了你的问题。

答案 2 :(得分:0)

您只需转到localhost:8080并检查您提交的应用程序是否已完成。

答案 3 :(得分:0)

对于本地运行,请使用:

val sparkConf = new SparkConf().setAppName("Your app Name").setMaster("local")
val sc = new SparkContext(sparkConf)

当你做sparkSeubmit:

val sparkConf = new SparkConf().setAppName("Your app Name")
val sc = new SparkContext(sparkConf)

这不会在本地测试中工作,但是当您使用此编译并激活提交作业时,它将在UI中显示。

希望这能解释。