机器学习决策器

编辑

用于自动扩展 的机器学习决策器(ml)计算运行机器学习作业和训练模型所需的内存和 CPU 资源。

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

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

配置设置

编辑

num_anomaly_jobs_in_queuenum_analytics_jobs_in_queue都旨在延迟扩展事件。如果集群规模太小,则这些设置指示每种类型的作业可以从节点上取消分配多少个作业。这两个设置仅考虑在当前规模下可以打开的作业。如果作业对于任何节点大小都太大,或者如果作业无法在没有用户干预的情况下分配(例如,用户针对实时异常检测作业调用_stop),则会忽略该特定作业的这些数字。

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

示例

编辑

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

resp = client.autoscaling.put_autoscaling_policy(
    name="my_autoscaling_policy",
    policy={
        "roles": [
            "ml"
        ],
        "deciders": {
            "ml": {
                "num_anomaly_jobs_in_queue": 5,
                "num_analytics_jobs_in_queue": 3,
                "down_scale_delay": "30m"
            }
        }
    },
)
print(resp)
const response = await client.autoscaling.putAutoscalingPolicy({
  name: "my_autoscaling_policy",
  policy: {
    roles: ["ml"],
    deciders: {
      ml: {
        num_anomaly_jobs_in_queue: 5,
        num_analytics_jobs_in_queue: 3,
        down_scale_delay: "30m",
      },
    },
  },
});
console.log(response);
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
}