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

使用Spark Operator提交任务时YuniKorn放置规则未按预期生效

问题排查与解决步骤

1. 调整SparkApplication的注解位置

你当前把yunikorn.apache.org/queue注解加在了driver和executor的Pod配置层级,但YuniKorn需要识别的是整个Spark应用的队列指定,而非单个Pod的注解。需将注解移至SparkApplication的metadata层级:

kind: SparkApplication
metadata:
  name: "my-spark-app"
  namespace: spark-op
  annotations:
    yunikorn.apache.org/queue: test  # 移至此处
spec:
  sparkVersion: 3.3.1
  driver:
    # 移除此处的队列注解
    ...
  executor:
    # 移除此处的队列注解
    ...

2. 开启Root队列的子队列自动创建权限

虽然你配置了placementrules的create: true,但需确保Root队列允许动态创建子队列。修改YuniKorn配置,给Root队列添加autocreatechildren: true属性:

partitions:
  - name: default
    placementrules:
      - name: provided
        create: true
    nodesortpolicy:
      type: binpacking
    queues:
      - name: root
        submitacl: "*"
        autocreatechildren: true  # 新增该配置

3. 明确指定Spark应用使用YuniKorn调度器

确保SparkApplication的spec中指定YuniKorn为调度器,否则应用会使用K8s默认调度器,队列配置无法生效:

spec:
  sparkVersion: 3.3.1
  scheduler:
    name: yunikorn  # 新增该配置,对应YuniKorn调度器的名称
  driver:
    ...

4. 验证队列创建与调度结果

修改配置后重启YuniKorn服务,重新提交Spark应用,通过YuniKorn Web UI(默认端口9889)查看是否生成root.test队列。若队列已创建但应用仍未调度至该队列,检查YuniKorn日志,排查是否存在权限或注解识别错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 21:40:08