纱线集群中的pyspark作业执行

时间:2020-05-29 15:46:09

标签: apache-spark hadoop pyspark

我试图了解火花作业如何在纱线簇中工作

我正在使用以下命令提交作业

  1. spark-submit --master yarn --deploy-mode cluster sparksessionexample.py

提交作业后,控制台日志如下所示

2020-05-29 20:52:48,668 INFO yarn.Client: Uploading resource file:/tmp/spark-bcd415f0-a22e-46b2-951c-5b6e4385a0c6/__spark_libs__2908230569257238890.zip -> hdfs://localhost:9000/user/hadoop/.sparkStaging/application_1590759398715_0003/__spark_libs__2908230569257238890.zip
2020-05-29 20:53:14,164 INFO yarn.Client: Uploading resource file:/home/hadoop/pythonprojects/Python/src/spark_jobs/sparksessionexample.py -> hdfs://localhost:9000/user/hadoop/.sparkStaging/application_1590759398715_0003/sparksessionexample.py
2020-05-29 20:53:14,610 INFO yarn.Client: Uploading resource file:/home/hadoop/clouderaapp/apache-spark/python/lib/pyspark.zip -> hdfs://localhost:9000/user/hadoop/.sparkStaging/application_1590759398715_0003/pyspark.zip
2020-05-29 20:53:15,984 INFO yarn.Client: Uploading resource file:/home/hadoop/clouderaapp/apache-spark/python/lib/py4j-0.10.7-src.zip -> hdfs://localhost:9000/user/hadoop/.sparkStaging/application_1590759398715_0003/py4j-0.10.7-src.zip
2020-05-29 20:53:18,362 INFO yarn.Client: Uploading resource file:/tmp/spark-bcd415f0-a22e-46b2-951c-5b6e4385a0c6/__spark_conf__7123551182035223076.zip -> hdfs://localhost:9000/user/hadoop/.sparkStaging/application_1590759398715_0003/__spark_conf__.zip

我只是想了解yarn如何执行 sparksessionexample.py 文件,我的意思是它是否在节点上创建python虚拟环境?如上所示,日志仅显示正在上载lib,conf,但是python客户端如何执行 sparksessionexample.py

任何人都可以帮助理解吗?

1 个答案:

答案 0 :(得分:0)

“ Spark客户端”用于引导Spark作业的执行。

在您的情况下,这是在您的本地计算机上运行的 only 事物,因为您请求了 cluster执行模式

  • “客户端”与集群管理器(此处为YARN Resource Manager,可以是Kubernetes Master等)联系,以在AppMaster容器内启动Spark驱动程序。
  • 然后,驱动程序再次联系集群管理器,以请求执行程序的一些容器
  • 然后驱动程序运行您的Python代码并将工作分配给执行者
  • 最后,驱动程序会取消分配其执行程序及其本身
  • 此时,“客户端”注意到YARN作业已达到成功或失败状态,并且可以终止

简而言之,“客户端”从不会从集群内部运行的驱动程序获得任何有用的信息。您必须检查YARN日志中运行驱动程序(它是AppMaster,通常为数字00001的容器。


如果要从驱动程序中获得一些反馈,请以 client执行模式运行作业-这意味着驱动程序将在与“客户端”相同的JVM,在您的本地计算机中,并在控制台中吐出其日志。

相关问题