创建自动跟随模式 API编辑

创建一个自动跟随模式。

请求编辑

PUT /_ccr/auto_follow/<auto_follow_pattern_name>
{
  "remote_cluster" : "<remote_cluster>",
  "leader_index_patterns" :
  [
    "<leader_index_pattern>"
  ],
  "leader_index_exclusion_patterns":
  [
    "<leader_index_exclusion_pattern>"
  ],
  "follow_index_pattern" : "<follow_index_pattern>"
}

先决条件编辑

  • 如果启用了 Elasticsearch 安全功能,则您必须对领导索引模式具有 readmonitor 索引权限。您还必须在包含跟随索引的集群上具有 manage_ccr 集群权限。有关更多信息,请参阅安全权限

描述编辑

此 API 根据请求正文中指定的远程集群创建一组新的命名自动跟随模式。远程集群上与任何指定模式匹配的新创建索引将自动配置为跟随索引。即使远程集群上在创建自动跟随模式之前创建的索引与模式匹配,也不会自动跟随它们。

此 API 也可用于更新现有的自动跟随模式。请注意,即使在更新自动跟随模式之前自动配置的跟随索引与新模式不匹配,它们也将保持不变。

路径参数编辑

<auto_follow_pattern_name>
(必填,字符串)自动跟随模式集合的名称。

查询参数编辑

master_timeout
(可选,时间单位)等待主节点的时间。如果在超时到期之前主节点不可用,则请求失败并返回错误。默认为 30s。也可以设置为 -1,表示请求永不超时。

请求正文编辑

remote_cluster
(必填,字符串)包含要匹配的领导索引的远程集群
leader_index_patterns
(可选,数组)要与 remote_cluster 字段指定的远程集群中的索引匹配的简单索引模式数组。
leader_index_exclusion_patterns
(可选,数组)可用于排除索引自动跟随的简单索引模式数组。名称与一个或多个 leader_index_patterns 和一个或多个 leader_index_exclusion_patterns 匹配的远程集群中的索引将不会被跟随。
follow_index_pattern
(可选,字符串)跟随索引的名称。模板 {{leader_index}} 可用于从领导索引的名称派生跟随索引的名称。当跟随数据流时,follow_index_pattern 将用于重命名领导索引以及包含领导索引的数据流。例如,名为 logs-mysql-default 的数据流,其后备索引为 .ds-logs-mysql-default-2022-01-01-000001follow_index_pattern{{leader_index}}_copy,则会将数据流复制为 logs-mysql-default_copy,并将后备索引复制为 .ds-logs-mysql-default_copy-2022-01-01-000001
settings
(对象)要从领导索引覆盖的设置。请注意,某些设置无法覆盖(例如,index.number_of_shards)。
max_read_request_operation_count
(整数)每次从远程集群读取时要拉取的最大操作数。
max_outstanding_read_requests
(长整型)来自远程集群的最大未完成读取请求数。
max_read_request_size
字节值)从远程集群拉取的一批操作的每次读取的最大字节大小。
max_write_request_operation_count
(整数)在跟随者上执行的每个批量写入请求的最大操作数。
max_write_request_size
字节值)在跟随者上执行的每个批量写入请求的最大操作总字节数。
max_outstanding_write_requests
(整数)跟随者上的最大未完成写入请求数。
max_write_buffer_count
(整数)可以排队等待写入的最大操作数。达到此限制时,将延迟从远程集群读取数据,直到排队的操作数低于限制为止。
max_write_buffer_size
字节值)可以排队等待写入的最大操作总字节数。达到此限制时,将延迟从远程集群读取数据,直到排队的操作总字节数低于限制为止。
max_retry_delay
时间值)在重试异常失败的操作之前等待的最长时间。重试时采用指数退避策略。
read_poll_timeout
时间值)当跟随索引与领导索引同步时,在远程集群上等待新操作的最长时间。超时后,对操作的轮询将返回到跟随者,以便它可以更新一些统计信息。然后,跟随者将立即尝试再次从领导者读取数据。

默认值编辑

以下来自跟随信息 API 的输出描述了上述索引跟随请求参数的所有默认值

{
  "follower_indices" : [
    {
      "parameters" : {
        "max_read_request_operation_count" : 5120,
        "max_read_request_size" : "32mb",
        "max_outstanding_read_requests" : 12,
        "max_write_request_operation_count" : 5120,
        "max_write_request_size" : "9223372036854775807b",
        "max_outstanding_write_requests" : 9,
        "max_write_buffer_count" : 2147483647,
        "max_write_buffer_size" : "512mb",
        "max_retry_delay" : "500ms",
        "read_poll_timeout" : "1m"
      }
    }
  ]
}

示例编辑

此示例创建一个名为 my_auto_follow_pattern 的自动跟随模式

PUT /_ccr/auto_follow/my_auto_follow_pattern
{
  "remote_cluster" : "remote_cluster",
  "leader_index_patterns" :
  [
    "leader_index*"
  ],
  "follow_index_pattern" : "{{leader_index}}-follower",
  "settings": {
    "index.number_of_replicas": 0
  },
  "max_read_request_operation_count" : 1024,
  "max_outstanding_read_requests" : 16,
  "max_read_request_size" : "1024k",
  "max_write_request_operation_count" : 32768,
  "max_write_request_size" : "16k",
  "max_outstanding_write_requests" : 8,
  "max_write_buffer_count" : 512,
  "max_write_buffer_size" : "512k",
  "max_retry_delay" : "10s",
  "read_poll_timeout" : "30s"
}

API 返回以下结果

{
  "acknowledged" : true
}