自动缩放决策器

edit

自动缩放决策器

edit
Reactive storage decider
估计当前数据集所需的存储容量。适用于管理数据节点的策略。
Proactive storage decider
根据当前摄入到热节点的数据估算所需的存储容量。 适用于管理热数据节点的策略。
Frozen shards decider
根据部分挂载的分片数量估算所需的内存容量。 适用于管理冻结数据节点的策略。
Frozen storage decider
估计部分挂载索引所需的存储容量占整个数据集的百分比。 适用于管理冻结数据节点的策略。
Frozen existence decider
估计在任何索引处于冻结的ILM阶段时所需的最小冻结内存和存储容量。
Machine learning decider
根据机器学习作业估算所需的内存容量。 适用于管理机器学习节点的策略。
Fixed decider
以固定的所需容量进行响应。此决策器仅用于测试。

反应式存储决策器

edit

自动缩放反应性存储决策器(reactive_storage)计算容纳当前数据集所需的存储量。当现有容量已超出时,它会发出信号表示需要额外的存储容量(反应性地)。

反应式存储决策器已为所有管理数据节点的策略启用,并且没有配置选项。

决策者部分依赖于使用数据层偏好 分配,而不是节点属性。特别是,扩展数据层以使其存在(启动层中的第一个节点)将导致在没有使用基于数据层偏好的分配的情况下,启动任何空数据层中的节点。 使用ILM迁移操作在层之间迁移是分配到层的优选方式,并且完全支持扩展层以使其存在。

主动存储决策器

edit

主动存储决策器(proactive_storage)计算包含当前数据集加上预期额外数据所需的存储量。

主动存储决策器已为所有管理具有data_hot角色的节点的策略启用。

预期额外数据的估计基于过去在 forecast_window 内发生的索引。 只有索引到数据流才会对估计产生贡献。

配置设置

edit
forecast_window
(可选, 时间值) 用于预测的时间窗口。默认为30分钟。

示例

edit

此示例设置了一个名为 my_autoscaling_policy 的自动扩展策略,覆盖了主动决策器的 forecast_window 为 10 分钟。

PUT /_autoscaling/policy/my_autoscaling_policy
{
  "roles" : [ "data_hot" ],
  "deciders": {
    "proactive_storage": {
      "forecast_window": "10m"
    }
  }
}

API返回以下结果:

{
  "acknowledged": true
}

冻结分片决策器

edit

冻结分片自动缩放决策器(frozen_shards)计算搜索冻结层中当前部分挂载索引集所需的内存。根据每个分片所需的内存量,它计算冻结层中所需的内存。

配置设置

edit
memory_per_shard
(可选, 字节值) 每个分片所需的内存,以字节为单位。默认情况下,每个64 GB节点有2000个分片(大约每个分片32 MB)。 请注意,这是总内存,而不是堆内存,假设使用Elasticsearch默认的堆内存大小调整机制,并且节点大小不超过64 GB。

冻结存储决策器

edit

冻结存储自动缩放决策器(frozen_storage)根据当前部分挂载索引的总数据集大小的百分比,计算搜索这些索引所需的本地存储。当现有容量小于总数据集大小的百分比乘积时,它会发出需要额外存储容量的信号。

冻结存储决策器已启用,适用于所有管理冻结数据节点的策略,并且没有配置选项。

配置设置

edit
percentage
(可选,数字值) 相对于数据集大小的本地存储百分比。默认为5。

冻结存在决策器

edit

冻结存在决策器(frozen_existence)确保一旦第一个索引进入冻结ILM阶段,冻结层就会被扩展到存在状态。

冻结存在判定器已为所有管理冻结数据节点的策略启用,并且没有配置选项。

机器学习决策器

edit

自动缩放机器学习决策器(ml)计算运行机器学习作业和训练模型的内存和CPU需求。

机器学习决策器已启用,用于管理ml节点的策略。

为了在集群未适当扩展时打开机器学习作业,请将 xpack.ml.max_lazy_ml_nodes 设置为可能的最大机器学习节点数量(有关更多信息,请参阅 高级机器学习设置)。在 Elasticsearch 服务中,此设置会自动配置。

配置设置

edit

Both num_anomaly_jobs_in_queue and num_analytics_jobs_in_queue are designed to delay a scale-up event. 如果集群太小,这些设置指示每种类型的工作有多少可以未分配给节点。这两个设置仅针对当前规模下可以打开的工作进行考虑。如果一个工作对于任何节点大小来说都太大,或者如果一个工作无法在不进行用户干预的情况下分配(例如,用户调用 _stop 来停止实时异常检测工作),那么这些数字将忽略该特定工作。

num_anomaly_jobs_in_queue
(可选,整数) 指定允许的排队异常检测作业的数量。默认为 0
num_analytics_jobs_in_queue
(可选,整数) 指定允许的排队数据帧分析作业的数量。默认为 0
down_scale_delay
(可选, 时间值) 指定在缩减之前延迟的时间。默认为1小时。如果在整个时间窗口内可以进行缩减,则请求缩减。如果集群在窗口期间需要扩展,则窗口重置。

示例

edit

此示例创建一个名为 my_autoscaling_policy 的自动缩放策略,该策略覆盖机器学习决策器的默认配置。

PUT /_autoscaling/policy/my_autoscaling_policy
{
  "roles" : [ "ml" ],
  "deciders": {
    "ml": {
      "num_anomaly_jobs_in_queue": 5,
      "num_analytics_jobs_in_queue": 3,
      "down_scale_delay": "30m"
    }
  }
}

API返回以下结果:

{
  "acknowledged": true
}

固定决策器

edit

此功能处于技术预览阶段,可能会在未来的版本中进行更改或移除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。

固定决策器仅用于测试。请勿在生产环境中使用此决策器。

自动缩放 fixed 决策器会返回一个固定的所需容量。它默认情况下未启用,但可以通过显式配置在任何策略中启用。

配置设置

edit
storage
(可选, 字节值) 节点级别存储的所需数量。默认为 -1(禁用)。
memory
(可选, 字节值) 节点级别内存的所需量。默认为 -1(禁用)。
processors
(可选, 浮点数) 所需的处理器数量。默认为禁用。
nodes
(可选,整数) 计算容量时使用的节点数量。默认为 1

示例

edit

此示例创建了一个名为 my_autoscaling_policy 的自动扩展策略,并启用了固定决策器并进行配置。

PUT /_autoscaling/policy/my_autoscaling_policy
{
  "roles" : [ "data_hot" ],
  "deciders": {
    "fixed": {
      "storage": "1tb",
      "memory": "32gb",
      "processors": 2.3,
      "nodes": 8
    }
  }
}

API返回以下结果:

{
  "acknowledged": true
}