我有一个我试图用来执行大型文本处理作业的EMR集群,并且我让它在较小的集群上运行,但是在调整主服务器大小后继续在本地运行作业并崩溃由于记忆问题。
这是我对群集的当前配置:
[
{
"classification":"capacity-scheduler",
"properties":
{
"yarn.scheduler.capacity.resource-calculator":"org.apache.hadoop.yarn.util.resource.DominantResourceCalculator"
},
"configurations":[]
},
{
"classification":"spark",
"properties":
{
"maximizeResourceAllocation":"true"
},
"configurations":[]
},
{
"classification":"spark-defaults",
"properties":
{
"spark.executor.instances":"0",
"spark.dynamicAllocation.enabled":"true"
},
"configurations":[]
}
]
这是我从this question看到的潜在解决方案,在我调整大小之前它确实有效。
现在每当我尝试提交像这样的spark-submit mytask.py
火花作业时
我看到大量的日志条目似乎没有离开主控主机,如下所示:
17/08/14 23:49:23 INFO TaskSetManager: Starting task 0.0 in stage 0.0 (TID 0,localhost, executor driver, partition 0, PROCESS_LOCAL, 405141 bytes)
我尝试了不同的参数,比如设置--deploy-mode cluster
和--master yarn
,因为纱线在主节点上运行,但仍然看到主机完成所有工作,而核心节点闲置。
是否还有其他配置缺失,最好是不需要重建群集的配置?