加载中

分配

允许的阶段:warm、cold。

更新索引设置以更改允许托管索引分片的节点以及更改副本的数量。

allocate 操作在 hot 阶段不允许使用。索引的初始分配必须手动完成或通过索引模板完成。

您可以配置此操作以同时修改分配规则和副本数量,或者仅修改分配规则,或者仅修改副本数量。有关 Elasticsearch 如何使用副本进行扩展的更多信息,请参阅为生产环境做好准备。有关控制 Elasticsearch 将特定索引的分片分配到何处的更多信息,请参阅索引级分片分配过滤

您必须指定副本数量或至少一个 includeexcluderequire 选项。空的 allocate 操作是无效的。

有关使用自定义属性进行分片分配的更多信息,请参阅索引级分片分配设置

number_of_replicas
(可选,整数) 要分配给索引的副本数量。
total_shards_per_node
(可选,整数) 单个 Elasticsearch 节点上的索引最大分片数。值 -1 被解释为无限制。参阅总分片数
include
(可选,对象) 将索引分配给具有至少一个指定自定义属性的节点。
exclude
(可选,对象) 将索引分配给不具有任何指定自定义属性的节点。
require
(可选,对象) 将索引分配给具有所有指定自定义属性的节点。

以下策略中的 allocate 操作将索引的副本数量更改为 2。索引的分片在任何单个节点上不会超过 200 个。否则,索引分配规则保持不变。

 PUT _ilm/policy/my_policy {
  "policy": {
    "phases": {
      "warm": {
        "actions": {
          "allocate" : {
            "number_of_replicas" : 2,
            "total_shards_per_node" : 200
          }
        }
      }
    }
  }
}

以下策略中的 allocate 操作将索引分配给具有 box_typehotwarm 的节点。

要指定节点的 box_type,您可以在节点配置中设置自定义属性。例如,在 elasticsearch.yml 中设置 node.attr.box_type: hot。有关更多信息,请参阅索引级分片分配设置 > 启用索引级分片分配过滤

 PUT _ilm/policy/my_policy {
  "policy": {
    "phases": {
      "warm": {
        "actions": {
          "allocate" : {
            "include" : {
              "box_type": "hot,warm"
            }
          }
        }
      }
    }
  }
}

allocate 操作还可以根据多个节点属性将索引分配给节点。以下操作根据 box_typestorage 节点属性分配索引。

 PUT _ilm/policy/my_policy {
  "policy": {
    "phases": {
      "cold": {
        "actions": {
          "allocate" : {
            "require" : {
              "box_type": "cold",
              "storage": "high"
            }
          }
        }
      }
    }
  }
}

以下策略中的 allocate 操作将索引更新为每个分片具有一个副本,并分配给具有 box_typecold 的节点。

要指定节点的 box_type,您可以在节点配置中设置自定义属性。例如,在 elasticsearch.yml 中设置 node.attr.box_type: cold。有关更多信息,请参阅索引级分片分配设置 > 启用索引级分片分配过滤

 PUT _ilm/policy/my_policy {
  "policy": {
    "phases": {
      "warm": {
        "actions": {
          "allocate" : {
            "number_of_replicas": 1,
            "require" : {
              "box_type": "cold"
            }
        }
        }
      }
    }
  }
}
© . All rights reserved.