我有一个 spark-standalone 集群。集群由 2 个工作节点和 1 个主节点组成。当我在主节点上运行程序时,作业只分配给一个工作人员。另一个工人不能做某事。
工人出现在照片上。为了运行我的代码,我使用了以下命令:
spark-submit --class Main.Main --master spark://172.19.0.2:7077 --deploy-mode cluster Main.jar ReadText.txt
从上图中,我们注意到您的工作节点中有 1 个核心系统
您可以使用以下命令
spark-submit --class Main.Main --total-executor-cores 2 --executor-cores 1 --master spark://172.19.0.2:7077 --deploy-mode cluster Main.jar ReadText.txt
希望这可以帮助!!!...
您能否使用部署模式客户端尝试一次,或者只是忽略该参数,因为如果您的部署模式将是集群,这里发生了什么,您的一个工作人员运行驱动程序任务,另一个工作人员将运行 rdd 任务,这就是您的原因worker 仅执行任务,当您运行 shell 时,默认情况下使用客户端模式并使用两个 worker 来运行任务。只需在命令下方尝试一次即可部署应用程序,您能否也分享一下您的应用程序的代码片段。
spark-submit --class Main.Main --master spark://172.19.0.2:7077 Main.jar ReadText.txt