跳转至

集群配置

构建实例自动重启

AIR 支持对 Kyuubi Spark 引擎实例进行定时检测和自动重启,避免 Spark Driver 长时间运行导致内存泄漏或性能下降。

配置方式

编辑集群配置中对应的 ComputeUnit(buildComputeUnits)内添加 sparkManagerConfig 字段,或通过集群管理 API 更新配置。

配置项说明

配置项 类型 必填 默认值 说明
kyuubiRestUrl String - Kyuubi REST API 地址,支持逗号分隔多个地址
yarnUrl String - YARN ResourceManager REST API 地址
maxRuntimeHours Integer 24 Spark 实例最大运行时长(小时),超过后触发重启
stopImmediately boolean false 立即停止模式:超时后直接停止并重启,不等待运行中的任务完成
stopGraceful boolean false 优雅停止模式:先从 ZooKeeper 下线(不再接受新任务),等待运行中的任务完成后再停止并重启

重启策略

根据 stopImmediatelystopGraceful 的配置,支持三种重启策略:

策略 配置 行为 适用场景
优雅停止 stopGraceful = true 先下线、等无任务后再停止重启 生产环境推荐
立即停止 stopImmediately = true 超时后直接停止重启,不等待任务 对中断容忍度高的场景
空闲停止 两者均为 false(默认) 仅在无运行中任务时才停止重启 一般场景

注意stopImmediately 优先级高于 stopGraceful,两者同时为 true 时按立即停止处理。

配置示例

cluster.json 配置
{
  "buildComputeUnits": [
    {
      "priority": 4,
      "computeUnitName": "spark_kyuubi_build",
      "computeUnitType": "BUILD",
      "engineType": "KYUUBI_SPARK",
      "connectionConfigs": {
        "url": "jdbc:kyuubi://zk1:2181,zk2:2181,zk3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi-tardis;",
        "username": "devops"
      },
      "sparkManagerConfig": {
        "kyuubiRestUrl": "http://kyuubi-host:10099",
        "yarnUrl": "http://yarn-rm-host:8088/",
        "maxRuntimeHours": 24,
        "stopGraceful": true,
        "stopImmediately": false
      }
    }
  ]
}

关闭自动重启

如果不需要自动重启功能,不配置 sparkManagerConfig 字段即可。已配置的情况下,移除 sparkManagerConfig 或将 kyuubiRestUrl / yarnUrl 置空即可关闭。