我正在尝试使用 Spark 独立模式运行 GroupByTest。 我已经在一台机器上成功运行它,当我尝试在另一台机器上运行它时,它可以工作,但似乎 Driver 是执行任务的唯一实例。
我知道这一点是因为我已经将日志消息添加到了 shuffle manager 构造函数中,并且我可以看到 Driver 是调用此 ctr 的唯一实例,但在第一台机器上我可以看到两个调用此 ctr 的实例:Driver 和一个工作程序/执行程序.
这是什么原因呢?在两台机器上,我都使用相同的配置运行它:1 个节点、1 个执行器、相同的内存量、相同的作业大小。
感谢您提出问题!!
我怀疑你在这种情况下使用的是spark master
local
。您可以根据您的分布式环境设置切换到 master yarn
、kubernetes
或 mesos
。