数据湖探索 DLI-典型场景示例:配置弹性资源池队列扩缩容策略:注意事项

时间:2024-12-13 17:52:52

注意事项

  • 建议对流批业务实施资源池的精细化管理,将Flink实时流类型的作业与SQL批处理类型的作业分别置于独立的弹性资源池中。

    优势在于:Flink实时流任务具有常驻运行的特质,确保其稳定运行而不会强制缩容,进而避免任务中断和系统不稳定。

    而SQL批处理类型的作业在独立的资源池中能够更加灵活地进行扩缩容,显著提升扩缩容的成功率和操作效率。

  • 在全天的任意一个时间段内,弹性资源池中所有队列的最小CU数之和需要小于等于弹性资源池的最小CU数。
  • 在全天的任意一个时间段内,弹性资源池中任意一个队列的最大CU必须小于等于弹性资源池的最大CU。
  • 同一队列不同扩缩容策略的时间段区间不能有交集。
  • 弹性资源池队列中的扩缩容策略时间段仅支持整点的时间段设置,并且包含设置的开启时间,不包含设置的结束时间,例如设置时间段00-09,则时间段范围为:[00:00,09:00)。默认的扩缩容策略不支持时间段配置修改。
  • 弹性资源池扩缩容策略生效规则为:在任意一个时间段周期内,优先满足所有队列的最小CU数。剩余的CU(弹性资源池最大CU-所有队列的最小CU数之和)则根据配置的优先级顺序分配:
    • 如果队列的优先级不同,根据配置的优先级顺序分配,直到剩余的CU数分配完成。
    • 如果队列的优先级相同,资源会被随机分配到某一队列,如果分配后资源还有剩余会随机分配到剩下的某一队列中,直到剩余的CU数分配完成。
      表2 弹性资源池扩缩容CU分配场景说明

      场景

      弹性资源池CU数分配说明

      弹性资源池当前最大CU为256CU,添加了两个队列,分别为队列A和队列B。两个队列设置的扩缩容策略如下:

      • 队列A扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是32,最大CU是128
      • 队列B扩缩容策略:优先级10,时间段:00:00-9:00,最小CU是64,最大CU是128

      到了00:00-9:00时间段:

      1. 弹性资源池优先满足两个队列的最小CU,队列A先分配32CU,队列B分配64CU,剩余CU数为160CU:弹性资源池的最大CU-两个队列的最小CU之和=256-32-64=160CU。
      2. 剩余CU数根据优先级高低来分配,因为队列B的优先级高于队列A,则优先将64CU分配给队列B,剩余的96CU全部分配给队列A。

      弹性资源池当前最大CU为96CU,添加了两个队列,分别为队列A和队列B。两个队列设置的扩缩容策略如下:

      • 队列A扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是32,最大CU是64
      • 队列B扩缩容策略:优先级10,时间段:00:00-9:00,最小CU是64,最大CU是128

      到了00:00-9:00时间段:

      1. 弹性资源池优先满足两个队列的最小CU,队列A先分配32CU,队列B分配64CU,剩余CU数为0CU:弹性资源池的最大CU-两个队列的最小CU之和=96-32-64=0CU。
      2. 因为剩余的CU数已经没有,则停止分配。

      弹性资源池当前最大CU为128CU,添加了两个队列,分别为队列A和队列B。两个队列设置的扩缩容策略如下:

      • 队列A扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是32,最大CU是64
      • 队列B扩缩容策略:优先级10,时间段:00:00-9:00,最小CU是64,最大CU是128

      到了00:00-9:00时间段:

      1. 弹性资源池优先满足两个队列的最小CU,队列A先分配32CU,队列B分配64CU,剩余CU数为32CU:弹性资源池的最大CU-两个队列的最小CU之和=128-32-64=32CU。
      2. 按照优先级,则优先将剩余的32CU分配给B队列后停止分配。

      弹性资源池当前最大CU为128CU,添加了两个队列,分别为队列A和队列B。两个队列设置的扩缩容策略如下:

      • 队列A扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是32,最大CU是64
      • 队列B扩缩容策略:优先级5,时间段:00:00-9:00,最小CU是64,最大CU是128

      到了00:00-9:00时间段:

      1. 弹性资源池优先满足两个队列的最小CU,队列A先分配32CU,队列B分配64CU,剩余CU数为32CU:弹性资源池的最大CU-两个队列的最小CU之和=128-32-64=32CU。
      2. 因为两个队列的优先级相同,则剩余32CU随机分配给两个队列。
support.huaweicloud.com/usermanual-dli/dli_01_0516.html