设置升级模式 API
编辑设置升级模式 API
编辑设置集群范围的 upgrade_mode 设置,为升级准备机器学习索引。
请求
编辑POST _ml/set_upgrade_mode
先决条件
编辑需要 manage_ml
集群权限。此权限包含在 machine_learning_admin
内置角色中。
描述
编辑升级集群时,在某些情况下,您必须重新启动节点并重新索引机器学习索引。在这些情况下,必须没有机器学习任务正在运行。您可以关闭机器学习任务,执行升级,然后再次打开所有任务。或者,您可以使用此 API 临时停止与任务和数据馈送关联的任务,并阻止新任务打开。您也可以在不需要重新索引机器学习索引的升级期间使用此 API,尽管在这种情况下停止任务不是必需的。
有关更多信息,请参阅 升级 Elastic Stack。
当 enabled=true
时,此 API 会临时停止所有任务和数据馈送任务,并禁止启动新的任务和数据馈送任务。
随后,您可以调用 enabled 参数设置为 false 的 API,这会导致机器学习任务和数据馈送返回到其所需的状态。
您可以使用 获取机器学习信息 API 查看 upgrade_mode
设置的当前值。
当 upgrade_mode
设置为 true
时,不能打开新的机器学习任务。
查询参数
编辑-
enabled
- (可选,布尔值) 当
true
时,启用upgrade_mode
。默认为false
。 -
timeout
- (可选,时间) 等待请求完成的时间。默认值为 30 秒。
示例
编辑以下示例为集群启用 upgrade_mode
resp = client.ml.set_upgrade_mode( enabled=True, timeout="10m", ) print(resp)
response = client.ml.set_upgrade_mode( enabled: true, timeout: '10m' ) puts response
const response = await client.ml.setUpgradeMode({ enabled: "true", timeout: "10m", }); console.log(response);
POST _ml/set_upgrade_mode?enabled=true&timeout=10m
当调用成功时,将返回确认响应。例如
{ "acknowledged": true }
只有在所有机器学习任务和数据馈送完成写入机器学习内部索引后,才会返回确认响应。这意味着重新索引这些内部索引是安全的,不会导致失败。您必须等待确认响应,然后才能重新索引,以确保所有写入都已完成。
当升级完成后,您必须将 upgrade_mode
设置为 false
,以便机器学习任务重新开始运行。例如
resp = client.ml.set_upgrade_mode( enabled=False, timeout="10m", ) print(resp)
response = client.ml.set_upgrade_mode( enabled: false, timeout: '10m' ) puts response
const response = await client.ml.setUpgradeMode({ enabled: "false", timeout: "10m", }); console.log(response);
POST _ml/set_upgrade_mode?enabled=false&timeout=10m