首页 > 解决方案 > 如何确保 Spark 主节点正在使用工作节点?(谷歌集群)

问题描述

我刚刚创建了一个 Google Cloud 集群(1 个 master 和 6 个 worker),并且默认配置了 Spark。

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

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

标签: apache-sparkpysparkgoogle-cloud-platformcluster-computingspark-submit

解决方案


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

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

如果您从 master 执行您的作业,则此执行将很简单。无论如何,请检查此链接以获取 spark-submit 接受的另一个参数。

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

  • 通过 master 的命令行:yarn application -list,这个选项有时需要额外的配置。如果您遇到问题,此链接将很有用。

  • 通过用户界面。Dataproc 使您能够访问 Spark Web UI,它改进了监控任务。查看此链接以了解如何访问 Spark 界面和其他 Dataproc 界面。总之,您必须创建一个隧道并将您的浏览器配置为使用 socks 代理。

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


推荐阅读