跨集群复制API

edit

您可以使用以下API来执行跨集群复制操作。

顶级

edit

跟随

edit

自动跟随

edit

获取跨集群复制统计信息 API

edit

获取 跨集群复制 统计信息。

请求

edit
GET /_ccr/stats

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须在包含跟随者索引的集群上拥有monitor集群权限。有关更多信息,请参阅安全权限

描述

edit

此API获取跨集群复制统计信息。此API将返回所有与跨集群复制相关的统计信息。特别是,此API返回有关自动跟随的统计信息,并返回与获取跟随者统计信息API相同的分片级别统计信息。

查询参数

edit
timeout
(可选,时间)控制等待结果的时间量。默认为无限制。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。

响应体

edit
auto_follow_stats

(对象) 一个表示自动跟随协调器统计信息的对象。

Properties of auto_follow_stats
number_of_failed_follow_indices
(长整型) 自动跟随协调器未能自动跟随的索引数量。最近失败的原因记录在选举的主节点的日志中,并在 auto_follow_stats.recent_auto_follow_errors 字段中捕获。
number_of_failed_remote_cluster_state_requests
(长整型) 自动跟随协调器未能从远程集群中检索集群状态的次数,该远程集群在自动跟随模式集合中注册。
number_of_successful_follow_indices
(长整型) 自动跟随协调器成功跟随的索引数量。
recent_auto_follow_errors
(数组) 表示自动跟随协调器失败的数组对象。
follow_stats
(对象) 一个表示跟随者索引分片级别统计信息的对象;请参阅 获取跟随者统计信息 API中的响应详情。

示例

edit

此示例检索跨集群复制统计信息:

GET /_ccr/stats

API返回以下结果:

{
  "auto_follow_stats" : {
    "number_of_failed_follow_indices" : 0,
    "number_of_failed_remote_cluster_state_requests" : 0,
    "number_of_successful_follow_indices" : 1,
    "recent_auto_follow_errors" : [],
    "auto_followed_clusters" : []
  },
  "follow_stats" : {
    "indices" : [
      {
        "index" : "follower_index",
        "total_global_checkpoint_lag" : 256,
        "shards" : [
          {
            "remote_cluster" : "remote_cluster",
            "leader_index" : "leader_index",
            "follower_index" : "follower_index",
            "shard_id" : 0,
            "leader_global_checkpoint" : 1024,
            "leader_max_seq_no" : 1536,
            "follower_global_checkpoint" : 768,
            "follower_max_seq_no" : 896,
            "last_requested_seq_no" : 897,
            "outstanding_read_requests" : 8,
            "outstanding_write_requests" : 2,
            "write_buffer_operation_count" : 64,
            "follower_mapping_version" : 4,
            "follower_settings_version" : 2,
            "follower_aliases_version" : 8,
            "total_read_time_millis" : 32768,
            "total_read_remote_exec_time_millis" : 16384,
            "successful_read_requests" : 32,
            "failed_read_requests" : 0,
            "operations_read" : 896,
            "bytes_read" : 32768,
            "total_write_time_millis" : 16384,
            "write_buffer_size_in_bytes" : 1536,
            "successful_write_requests" : 16,
            "failed_write_requests" : 0,
            "operations_written" : 832,
            "read_exceptions" : [ ],
            "time_since_last_read_millis" : 8
          }
        ]
      }
    ]
  }
}

创建跟随者 API

edit

创建一个跨集群复制跟随索引。

请求

edit
PUT /<follower_index>/_ccr/follow?wait_for_active_shards=1
{
  "remote_cluster" : "<remote_cluster>",
  "leader_index" : "<leader_index>"
}

先决条件

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

描述

edit

此API创建一个新的追随者索引,该索引配置为跟随引用的领导者索引。当此API返回时,追随者索引已存在,并且跨集群复制开始将操作从领导者索引复制到追随者索引。

路径参数

edit
<follower_index>
(必需,字符串) 追随者索引的名称。

查询参数

edit
wait_for_active_shards
(可选, 整数) 指定在响应之前等待的活动分片数量。默认情况下,不等待任何分片变为活动状态。分片必须从主索引恢复后才能变为活动状态。恢复从分片需要将所有远程Lucene段文件传输到从分片索引。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。

请求体

edit
leader_index
(必需,字符串) 要跟随的领导者集群中的索引名称。
remote_cluster
(必需,字符串) 包含领导者索引的 远程集群
data_stream_name
(可选,字符串) 如果主索引是 数据流 的一部分,则应将跟随索引的本地数据流重命名为的名称。例如,一个请求如下:
PUT /.ds-logs-mysql-default_copy-2022-01-01-000001/_ccr/follow
{
  "remote_cluster" : "remote_cluster",
  "leader_index" : ".ds-logs-mysql-default-2022-01-01-000001",
  "data_stream_name": "logs-mysql-default_copy"
}

将领导者索引 .ds-logs-mysql-default-2022-01-01-000001 复制到跟随者索引 .ds-logs-mysql-default_copy-2022-01-01-000001,并将使用数据流 logs-mysql-default_copy,而不是原始领导者数据流名称 logs-mysql-default

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
(时间值) 当从属索引与主索引同步时,等待远程集群上新操作的最大时间。 当超时时间到达时,操作轮询将返回到从属索引,以便它可以更新一些统计信息。然后,从属索引将立即尝试再次从主索引读取。

默认值

edit

以下是来自follow info api的输出,描述了上述索引follow请求参数的所有默认值:

{
  "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"
      }
    }
  ]
}

示例

edit

此示例创建一个名为 follower_index 的跟随索引:

PUT /follower_index/_ccr/follow?wait_for_active_shards=1
{
  "remote_cluster" : "remote_cluster",
  "leader_index" : "leader_index",
  "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返回以下结果:

{
  "follow_index_created" : true,
  "follow_index_shards_acked" : true,
  "index_following_started" : true
}

暂停跟随者 API

edit

暂停一个跨集群复制从属索引。

请求

edit
POST /<follower_index>/_ccr/pause_follow

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须在包含跟随者索引的集群上拥有manage_ccr集群权限。更多信息,请参见安全权限

描述

edit

此API暂停一个从属索引。当此API返回时,从属索引将不会从主索引获取任何额外的操作。您可以使用恢复从属API来恢复跟随。暂停和恢复从属索引可以用于更改跟随任务的配置。

路径参数

edit
<follower_index>
(必需,字符串) 追随者索引的名称。

查询参数

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

示例

edit

此示例暂停名为 follower_index 的跟随者索引:

POST /follower_index/_ccr/pause_follow

API返回以下结果:

{
  "acknowledged" : true
}

恢复跟随者API

edit

恢复一个跨集群复制从属索引。

请求

edit
POST /<follower_index>/_ccr/resume_follow
{
}

前提条件

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

描述

edit

此API恢复一个已被暂停的跟随者索引,该索引可能已被暂停跟随者API显式暂停,或由于在跟随过程中因失败而无法重试的执行而隐式暂停。当此API返回时,跟随者索引将从领导者索引恢复获取操作。

路径参数

edit
<follower_index>
(必需,字符串) 追随者索引的名称。

查询参数

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

请求体

edit
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
(时间值) 当从属索引与主索引同步时,等待远程集群上新操作的最大时间。 当超时时间到达时,操作轮询将返回到从属节点,以便它可以更新一些统计信息。然后,从属节点将立即尝试再次从主节点读取数据。

默认值

edit

以下是来自follow info api的输出,描述了上述索引follow请求参数的所有默认值:

{
  "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"
      }
    }
  ]
}

示例

edit

此示例恢复名为 follower_index 的跟随者索引:

POST /follower_index/_ccr/resume_follow
{
  "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
}

取消关注 API

edit

将一个跨集群复制的跟随者索引转换为常规索引。

请求

edit
POST /<follower_index>/_ccr/unfollow

前提条件

edit
  • 如果启用了Elasticsearch安全功能,您必须对跟踪索引具有manage_follow_index索引权限。有关更多信息,请参阅安全权限

描述

edit

此API停止与从属索引相关的以下任务,并删除与跨集群复制相关的索引元数据和设置。这使得该索引可以被视为常规索引。在调用取消关注API之前,必须暂停并关闭从属索引。

目前跨集群复制不支持将现有常规索引转换为跟随者索引。将跟随者索引转换为常规索引是一个不可逆的操作。

路径参数

edit
<follower_index>
(必需,字符串) 追随者索引的名称。

查询参数

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

示例

edit

此示例将 follower_index 从跟随索引转换为常规索引:

POST /follower_index/_ccr/unfollow

API返回以下结果:

{
  "acknowledged" : true
}

忘记跟随者 API

edit

从领导者中移除跨集群复制追随者保留租约。

请求

edit
POST /<leader_index>/_ccr/forget_follower
{
  "follower_cluster" : "<follower_cluster>",
  "follower_index" : "<follower_index>",
  "follower_index_uuid" : "<follower_index_uuid>",
  "leader_remote_cluster" : "<leader_remote_cluster>"
}
{
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0,
    "failures" : [ ]
  }
}

前提条件

edit
  • 如果启用了Elasticsearch安全功能,您必须对leader索引具有manage_leader_index索引权限。有关更多信息,请参阅安全权限

描述

edit

一个跟随索引在其领导索引上获取保留租约。这些保留租约用于增加领导索引的分片保留跟随索引的分片执行复制所需操作历史的可能性。当跟随索引通过取消跟随 API(无论是通过显式执行此 API,还是通过索引生命周期管理隐式执行)转换为常规索引时,这些保留租约会移除。然而,移除这些保留租约可能会失败(例如,如果包含领导索引的远程集群不可用)。虽然这些保留租约最终会自行过期,但它们的延长存在可能会导致领导索引保留比必要更多的历史记录,并阻止索引生命周期管理对领导索引执行某些操作。此 API 的存在是为了在取消跟随 API 无法移除这些保留租约时手动移除它们。

此API不会通过后续索引停止复制。如果您使用此API针对仍在积极跟随的跟随索引,跟随索引将在领导者上重新添加保留租约。此API的唯一目的是处理在调用unfollow API后未能移除跟随保留租约的情况。

路径参数

edit
<leader_index>
(必需,字符串) 领导者索引的名称。

查询参数

edit
timeout
(可选,时间)控制等待结果的时间量。默认为无限制。

请求体

edit
follower_cluster
(必需,字符串) 包含跟随索引的集群的名称。
follower_index
(必需,字符串) 追随者索引的名称。
follower_index_uuid
(必需,字符串) 追随者索引的UUID。
leader_remote_cluster
(必需,字符串) 从包含追随者索引的集群的角度来看,包含领导者索引的 远程集群 的别名。

示例

edit

此示例移除leader_indexfollower_index的跟随者保留租约。

POST /leader_index/_ccr/forget_follower
{
  "follower_cluster" : "follower_cluster",
  "follower_index" : "follower_index",
  "follower_index_uuid" : "vYpnaWPRQB6mNspmoCeYyA",
  "leader_remote_cluster" : "leader_cluster"
}

API返回以下结果:

{
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0,
    "failures" : [ ]
  }
}

获取跟随者统计信息 API

edit

获取 跨集群复制 跟随者统计信息。

请求

edit
GET /<index>/_ccr/stats

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须在包含跟随者索引的集群上拥有monitor集群权限。有关更多信息,请参阅安全权限

描述

edit

此API获取关注者统计信息。此API将返回与指定索引的每个分片相关的关注任务的分片级统计信息。

路径参数

edit
<index>
(必需,字符串) 一个逗号分隔的索引模式列表。

查询参数

edit
timeout
(可选,时间)控制等待结果的时间量。默认为无限制。

响应体

edit
indices

(数组) 一个包含关注者索引统计信息的数组。

Properties of indices
fatal_exception
(对象) 表示导致取消后续任务的致命异常的对象。在这种情况下,必须使用恢复跟随者API手动恢复后续任务。
index
(字符串) 跟随者索引的名称。
total_global_checkpoint_lag
(长整型) 表示跟随者落后于领导者的程度。这是所有分片的leader_global_checkpointfollower_global_checkpoint之间的差异总和。
shards

(数组) 一个包含分片级别跟随任务统计信息的数组。

Properties of objects in shards
bytes_read

(长整型) 从领导者读取的总传输字节数。

这只是一个估计值,如果启用了压缩,则不考虑压缩因素。

failed_read_requests
(长整型) 失败读取的次数。
failed_write_requests
(长整型) 在跟随者上执行的失败批量写入请求的数量。
follower_aliases_version
(长整型) 跟随者同步到的索引别名版本。
follower_global_checkpoint
(长整型) 跟随者上的当前全局检查点。leader_global_checkpointfollower_global_checkpoint之间的差异表示跟随者落后于领导者的程度。
follower_index
(字符串) 跟随者索引的名称。
follower_mapping_version
(长整型) 跟随者同步到的映射版本。
follower_max_seq_no
(长整型) 跟随者上的当前最大序列号。
follower_settings_version
(长整型) 跟随者同步到的索引设置版本。
last_requested_seq_no
(长整型) 从领导者请求的最后一批操作的起始序列号。
leader_global_checkpoint
(长整型) 跟随者任务已知的领导者上的当前全局检查点。
leader_index
(字符串) 被跟随的领导者集群中的索引名称。
leader_max_seq_no
(长整型) 跟随者任务已知的领导者上的当前最大序列号。
operations_read
(长整型) 从领导者读取的操作总数。
operations_written
(长整型) 在跟随者上写入的操作数量。
outstanding_read_requests
(整数) 跟随者的活动读取请求数量。
outstanding_write_requests
(整数) 跟随者上的活动批量写入请求数量。
read_exceptions

(数组) 表示失败读取的对象数组。

Properties of objects in read_exceptions
exception
(对象) 表示导致读取失败的异常。
from_seq_no
(长整型) 从领导者请求的批次的起始序列号。
retries
(整数) 批次重试的次数。
remote_cluster
(字符串) 包含领导者索引的远程集群
shard_id
(整数) 数值分片ID,取值范围为0到副本数量减一。
successful_read_requests
(长整型) 成功获取的次数。
successful_write_requests
(长整型) 在跟随者上执行的批量写入请求的数量。
time_since_last_read_millis

(长整型) 自向领导者发送读取请求以来的毫秒数。

当追随者赶上领导者时,这个数字将增加到配置的read_poll_timeout,此时将向领导者发送另一个读取请求。

total_read_remote_exec_time_millis
(长整型) 读取在远程集群上执行的总时间。
total_read_time_millis
(长整型) 读取的总时间,从向领导者发送读取请求到跟随者收到回复的时间。
total_write_time_millis
(长整型) 在跟随者上写入的总时间。
write_buffer_operation_count
(整数) 跟随者上排队的写入操作数量。
write_buffer_size_in_bytes
(长整型) 当前排队等待写入的操作的总字节数。

示例

edit

此示例检索关注者统计信息:

GET /follower_index/_ccr/stats

API返回以下结果:

{
  "indices" : [
    {
      "index" : "follower_index",
      "total_global_checkpoint_lag" : 256,
      "shards" : [
        {
          "remote_cluster" : "remote_cluster",
          "leader_index" : "leader_index",
          "follower_index" : "follower_index",
          "shard_id" : 0,
          "leader_global_checkpoint" : 1024,
          "leader_max_seq_no" : 1536,
          "follower_global_checkpoint" : 768,
          "follower_max_seq_no" : 896,
          "last_requested_seq_no" : 897,
          "outstanding_read_requests" : 8,
          "outstanding_write_requests" : 2,
          "write_buffer_operation_count" : 64,
          "follower_mapping_version" : 4,
          "follower_settings_version" : 2,
          "follower_aliases_version" : 8,
          "total_read_time_millis" : 32768,
          "total_read_remote_exec_time_millis" : 16384,
          "successful_read_requests" : 32,
          "failed_read_requests" : 0,
          "operations_read" : 896,
          "bytes_read" : 32768,
          "total_write_time_millis" : 16384,
          "write_buffer_size_in_bytes" : 1536,
          "successful_write_requests" : 16,
          "failed_write_requests" : 0,
          "operations_written" : 832,
          "read_exceptions" : [ ],
          "time_since_last_read_millis" : 8
        }
      ]
    }
  ]
}

获取跟随者信息 API

edit

检索有关所有跨集群复制从属索引的信息。

请求

edit
GET /<index>/_ccr/info

前提条件

edit
  • 如果启用了Elasticsearch安全功能,您必须拥有monitor集群权限。有关更多信息,请参阅安全权限

描述

edit

此API列出了每个跟随者索引的参数和状态。 例如,结果包括跟随者索引名称、领导者索引名称、 复制选项以及跟随者索引是处于活动状态还是暂停状态。

路径参数

edit
<index>
(必需,字符串) 一个逗号分隔的跟随者索引模式列表。

查询参数

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

响应体

edit
follower_indices

(数组) 一个包含关注者索引统计信息的数组。

对象属性在 follower_indices
follower_index
(字符串) 跟随者索引的名称。
leader_index
(字符串) 被跟随的主集群中的索引名称。
parameters

(对象) 一个封装跨集群复制参数的对象。如果跟随者索引的 statuspaused, 则省略此对象。

属性在 parameters
max_outstanding_read_requests
(长整型) 从远程集群读取请求的最大未完成数量。
max_outstanding_write_requests
(整数) 跟随者上写请求的最大未完成数量。
max_read_request_operation_count
(整数) 从远程集群每次读取的最大操作数量。
max_read_request_size
(字节值) 从远程集群每次读取的操作批次的字节大小上限。
max_retry_delay
(时间值) 在重试异常失败的操作之前等待的最大时间。重试时采用指数退避策略。
max_write_buffer_count
(整数) 可以排队等待写入的最大操作数量。当达到此限制时,从远程集群的读取将被推迟,直到排队操作的数量低于限制。
max_write_buffer_size
(字节值) 可以排队等待写入的操作的总字节大小上限。当达到此限制时,从远程集群的读取将被推迟,直到排队操作的总字节大小低于限制。
max_write_request_operation_count
(整数) 在跟随者上执行的批量写请求的最大操作数量。
max_write_request_size
(字节值) 在跟随者上执行的批量写请求的操作总字节大小上限。
read_poll_timeout
(时间值) 当跟随者索引与主索引同步时,等待远程集群新操作的最大时间。当超时已过,操作轮询返回到跟随者,以便它可以更新一些统计信息,然后跟随者立即尝试再次从主集群读取。
remote_cluster
(字符串) 包含主索引的远程集群
status
(字符串) 索引跟随是 active 还是 paused

示例

edit

此示例检索关注者信息:

GET /follower_index/_ccr/info

如果跟随者索引是active,API将返回以下结果:

{
  "follower_indices": [
    {
      "follower_index": "follower_index",
      "remote_cluster": "remote_cluster",
      "leader_index": "leader_index",
      "status": "active",
      "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"
      }
    }
  ]
}

如果跟随者索引是暂停的,API将返回以下结果:

{
  "follower_indices": [
    {
      "follower_index": "follower_index",
      "remote_cluster": "remote_cluster",
      "leader_index": "leader_index",
      "status": "paused"
    }
  ]
}

创建自动跟随模式 API

edit

创建一个跨集群复制 自动跟随模式

请求

edit
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>"
}

先决条件

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

描述

edit

此API创建一个新的命名集合,针对请求体中指定的远程集群的 自动跟随模式。在远程集群上新创建的索引,如果匹配任何指定的模式,将自动配置为跟随索引。在自动跟随模式创建之前在远程集群上创建的索引,即使它们匹配模式,也不会自动跟随。

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

路径参数

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

查询参数

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

请求体

edit
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-000001,并且 follow_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
(时间值) 当从属索引与主索引同步时,等待远程集群上新操作的最大时间。 当超时时间到达时,操作轮询将返回到从属节点,以便它可以更新一些统计信息。然后,从属节点将立即尝试再次从主节点读取数据。

默认值

edit

以下是来自follow info api的输出,描述了上述索引follow请求参数的所有默认值:

{
  "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"
      }
    }
  ]
}

示例

edit

此示例创建一个名为 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
}

删除自动跟随模式 API

edit

删除跨集群复制 自动跟随模式

请求

edit
DELETE /_ccr/auto_follow/<auto_follow_pattern_name>

前提条件

edit
  • 如果启用了Elasticsearch安全功能,您必须在包含跟随者索引的集群上拥有manage_ccr集群权限。更多信息,请参见安全权限

描述

edit

此API删除已配置的 自动跟随模式集合。

路径参数

edit
<auto_follow_pattern_name>
(必需,字符串) 指定要删除的自动跟随模式集合。

查询参数

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

示例

edit

此示例删除名为 my_auto_follow_pattern 的自动跟随模式集合:

DELETE /_ccr/auto_follow/my_auto_follow_pattern

API返回以下结果:

{
  "acknowledged" : true
}

获取自动跟随模式 API

edit

获取跨集群复制 自动跟随模式

请求

edit
GET /_ccr/auto_follow/
GET /_ccr/auto_follow/<auto_follow_pattern_name>

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须在包含跟随者索引的集群上拥有manage_ccr集群权限。更多信息,请参见安全权限

描述

edit

此API获取配置的自动跟随模式。 此API将返回指定的自动跟随模式集合。

路径参数

edit
<auto_follow_pattern_name>
(可选,字符串) 指定您想要检索的自动跟随模式集合。如果您不指定名称,API将返回所有集合的信息。

查询参数

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

示例

edit

此示例检索有关名为 my_auto_follow_pattern 的自动跟随模式集合的信息:

GET /_ccr/auto_follow/my_auto_follow_pattern

API返回以下结果:

{
  "patterns": [
    {
      "name": "my_auto_follow_pattern",
      "pattern": {
        "active": true,
        "remote_cluster" : "remote_cluster",
        "leader_index_patterns" :
        [
          "leader_index*"
        ],
        "leader_index_exclusion_patterns":
        [
          "leader_index_001"
        ],
        "follow_index_pattern" : "{{leader_index}}-follower"
      }
    }
  ]
}

暂停自动跟随模式 API

edit

暂停一个跨集群复制的自动跟随模式

请求

edit

POST /_ccr/auto_follow//pause

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须在包含跟随者索引的集群上拥有manage_ccr集群权限。更多信息,请参见安全权限

描述

edit

此API暂停一个自动跟随模式。当此API返回时,自动跟随模式将变为非活动状态,并忽略远程集群中创建的任何与自动跟随模式匹配的新索引。暂停的自动跟随模式在获取自动跟随模式API中显示时,active字段设置为false

您可以使用恢复自动跟随模式API来恢复自动跟随。 一旦恢复,自动跟随模式将再次激活,并自动为远程集群中匹配其模式的新创建的索引配置跟随者索引。 在模式暂停期间创建的远程索引也将被跟随,除非它们在此期间已被删除或关闭。

路径参数

edit
<auto_follow_pattern_name>
(必需,字符串) 要暂停的自动跟随模式的名称。

查询参数

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

示例

edit

此示例暂停名为 my_auto_follow_pattern 的自动跟随模式:

POST /_ccr/auto_follow/my_auto_follow_pattern/pause

API返回以下结果:

{
  "acknowledged" : true
}

恢复自动跟随模式 API

edit

恢复跨集群复制 自动跟随模式

请求

edit

POST /_ccr/auto_follow//resume

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须在包含跟随者索引的集群上拥有manage_ccr集群权限。更多信息,请参见安全权限

描述

edit

此API恢复已使用暂停自动跟随模式API暂停的自动跟随模式。当此API返回时,自动跟随模式将恢复为远程集群上与模式匹配的新创建的索引配置跟随索引。在模式暂停期间创建的远程索引也将被跟随,除非它们在此期间已被删除或关闭。

路径参数

edit
<auto_follow_pattern_name>
(必需,字符串) 指定要恢复的自动跟随模式名称。

查询参数

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

示例

edit

此示例恢复了一个名为 my_auto_follow_pattern 的暂停自动跟随模式的活动:

POST /_ccr/auto_follow/my_auto_follow_pattern/resume

API返回以下结果:

{
  "acknowledged" : true
}