You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在EKS-Fargate上使用EMR实现全Serverless架构部署

结论

EKS完全不需要配置托管节点组,仅使用Fargate即可正常运行EMR on EKS的Spark作业,你遇到的调度失败是配置适配问题,和是否存在EC2节点组无关。

问题根因

你当前的报错是因为Spark Pod未被Fargate Profile正确匹配,EKS不会自动为未匹配Fargate Profile的Pod添加Fargate节点污点的容忍规则,因此Pod无法调度到Fargate节点,移除EC2节点组后就会进入Pending状态。

修复步骤

1. 调整Fargate Profile配置(二选一即可)

方案1:去掉标签限制快速验证

删除现有带标签筛选的Fargate Profile,创建匹配spark命名空间下所有Pod的Profile,EKS会自动为该命名空间下所有Pod添加Fargate污点容忍:

eksctl delete fargateprofile --cluster eksworkshop-eksctl --name emr
eksctl create fargateprofile --cluster eksworkshop-eksctl --name emr --namespace spark
方案2:保留标签筛选规则

如果需要按标签筛选调度的Pod,除了现有的driver、executor标签配置,还需要在Spark提交参数中显式添加污点容忍:
在你的sparkSubmitParameters中新增以下配置:

--conf spark.kubernetes.tolerations=key=eks.amazonaws.com/compute-type,value=fargate,effect=NoSchedule

2. 全Fargate集群必要适配

因为你没有EC2节点组,需要修改CoreDNS的默认配置,移除其仅调度到EC2节点的限制:

kubectl patch deployment coredns -n kube-system --remove-spec/tolerations/0

3. 通用适配配置

无论选择以上哪种Fargate Profile方案,都建议在Spark提交参数中添加--conf spark.kubernetes.fargate=true,适配Fargate的运行环境限制,避免存储、网络相关的兼容性问题。

完成以上配置后重新提交作业即可,不需要添加任何EC2托管节点组。


内容的提问来源于stack exchange,提问作者Charmee Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:24:04