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

Spark master won't show running application in UI when I use spark-submit for python script

The image shows 8081 UI. 当我启动 scala shell 或 pyspark shell 时,大师显示 运行ning 应用程序。但是当我使用 spark-submit 到 运行 一个 python 脚本时,master 没有显示任何 运行ning 应用程序。这是我使用的命令:spark-submit --master spark://localhost:7077 sample_map.py。网络 UI 位于 :4040。我想知道我是否以正确的方式提交脚本,或者 spark-submit 是否从未真正显示 运行ning 应用程序。

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.

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

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

您只需前往 localhost:8080 并检查您是否提交了一份完整的申请。

你可以打开spark master的网站UI,就是http://localhost:8080 by default to see running apps (in standalone cluster mode) :

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

You can access this interface by simply opening http://:4040 in a web browser. If multiple SparkContexts are running on the same host, they will bind to successive ports beginning with 4040 (4041, 4042, etc).

对于本地 运行 使用此:

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

当您执行 sparkSubmit 时:

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

这在本地测试中不起作用,但是当您使用它编译并引发提交作业时,它将显示在 UI。

希望这能解释清楚。