【发布时间】:2018-10-21 11:43:07
【问题描述】:
我创建了一个spark集群,三个节点,一个是master,另外两个是worker节点。我可以在 Spark 主 UI 上看到这两个工作人员。
我用“WordCount”Scala 程序创建了一个示例项目,它非常简单,只需读取文件并计算单词出现的次数。
我在主机上使用部署模式“客户端”提交了 spark 提交
./bin/spark-submit --class WordCount --master master-host:7077 --deploy-mode Client
“WordCount”已成功执行。 但是,它只是在 master 上执行,在 Spark master UI 上也看不到驱动程序或应用程序。 在我看来,它将在集群上执行(任务分配给worker节点上的执行器),并且可以在spark master UI上查看应用程序。
我做了一些研究,甚至阅读了 Spark Core 源代码,但没有运气。 任何评论表示赞赏。
【问题讨论】:
-
您是否也在使用您的主人的机器作为工人?否则,你怎么知道它在master机器上运行?另外,您是从哪台机器上运行 spark-submit 的?最后:您确定您的
main方法没有以冲突的方式创建火花上下文吗? -
感谢您的回复,我正在主节点上运行 ./bin/spark-submit...。我没有使用主人作为工人。我不确定您“以冲突的方式创建火花上下文”是什么意思
-
我的意思是你在应用程序代码中的 spark 上下文可能是通过将其指向
local的配置创建的... -
哦,明白了。我用 spark://master-host:7077 发送了 conf。我期待驱动程序可以分发 rdd 映射并减少到工作节点,但似乎没有。老实说,我不确定是否调用了 worker,因为它没有显示在 Spark 主 UI 上。
-
我得到了问题的原因,是因为我的 hdfs 有问题,我在 hdfs 中的文件没有被很好地拾取。
标签: apache-spark deployment cluster-computing mode