spark提交作业申请到的资源分配不均匀问题

有偿解答,解决了可商量

各位大佬,请教个问题:
集群为三节点计算节点。
现在我提交spark作业到yarn的时候,出现会把单个作业的所有资源分配给同一个节点的情况,这个需要怎么解决?
比如:提交spark作业的时候分配的资源为:
--num-executors 3 --executor-cores 2 --executor-memory 4g
第一次提交的时候申请到的资源全部都是datanode1节点的资源
第二次提交的时候申请到的资源全部都是datanode2节点的资源

图片说明

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:spark程序提交集群,找不到类的错误
  • 除此之外, 这篇博客: spark错题本中的 三十八,spark作业启用动态资源分配,先分配了10个executor,运行完job0,竟然没有接着利用这10个Executor运行job1,大概等待了数个小时,等集群有了资源才整体分配executor来执行job1,这是什么原因? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    第一个job需要10个executor,第二个作业需要100个,按道理第一个跑完,第二个可以开始部分跑,但实际上,一直等到申请到全部资源后才开始跑


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^