如何确保Spark主节点正在使用工作节点? (Google集群)

时间:2018-08-08 18:50:43

标签: apache-spark pyspark google-cloud-platform cluster-computing spark-submit

我刚刚创建了一个Google Cloud集群(1个主服务器和6个工作器),默认情况下配置了Spark。

我有一个使用NLTK的纯Python代码,用于为文本文件中的每一行构建依赖关系树。当我在主机spark-submit run.py上运行此代码时,使用计算机运行该代码时,我得到的执行时间相同。

如何确保主机正在使用工人以减少执行时间?

2 个答案:

答案 0 :(得分:0)

您可以检查spark UI。如果它在纱线上运行,请打开纱线UI,然后单击您的应用程序ID,这将打开Spark UI。检查“执行者”选项卡下它还将具有节点ip地址。

请分享您的Spark提交配置。

答案 1 :(得分:0)

您的命令“ spark-submit run.py”似乎没有将您的工作发送到YARN。为此,您需要添加--master参数。例如,在YARN中执行作业的有效命令是:

./bin/spark-submit --master yarn python/pi.py 1000 

如果您从主服务器执行作业,则执行将很简单。无论如何,请检查this link中是否有另一个火花提交接受的参数。

对于Dataproc集群(Hadoop Google集群),您有两个选项可以检查作业历史记录,包括正在运行的历史记录:

  • 通过主服务器上的命令行:yarn application -list,此选项有时需要其他配置。如果遇到麻烦,this link会很有用。

  • 通过UI。 Dataproc使您可以访问Spark Web UI,从而改善了监视任务。选中this link,以了解如何访问Spark UI和其他Dataproc UI。总而言之,您必须创建一个隧道并将浏览器配置为使用袜子代理。

希望以上信息对您有所帮助。