Link Search Menu Expand Document Documentation Menu

用于跨集群复制的自动跟踪

自动跟踪允许您根据匹配模式自动复制在主集群上创建的索引。当您在主集群上创建一个名称与指定模式(例如,index-01*)匹配的索引时,OpenSearch 会在从集群上自动创建一个相应的从属索引。

您可以为一个集群配置多个复制规则。这些模式目前只支持通配符匹配。

先决条件

您需要在启用自动跟踪之前在两个集群之间设置跨集群连接

权限

如果安全插件已启用,请确保将非管理员用户映射到适当的权限,以便他们可以执行复制操作。有关索引和集群级别权限要求,请参阅跨集群复制权限

自动跟踪入门

复制规则是针对单个从集群创建的模式集合。当您创建复制规则时,它首先会自动复制任何匹配该模式的现有索引。然后,它将继续复制您创建的任何匹配该模式的索引。

在从集群上创建复制规则

curl -XPOST -k -H 'Content-Type: application/json' -u 'admin:<custom-admin-password>' 'https://:9200/_plugins/_replication/_autofollow?pretty' -d '
{
   "leader_alias" : "my-connection-alias",
   "name": "my-replication-rule",
   "pattern": "movies*",
   "use_roles":{
      "leader_cluster_role": "all_access",
      "follower_cluster_role": "all_access"
   }
}'

如果安全插件被禁用,您可以省略 use_roles 参数。但是,如果它已启用,您需要指定 OpenSearch 用于身份验证请求的主集群和从集群角色。本示例为简化起见使用 all_access,但我们建议在每个集群上创建一个复制用户并进行相应映射

要测试该规则,请在主集群上创建一个匹配索引

curl -XPUT -k -H 'Content-Type: application/json' -u 'admin:<custom-admin-password>' 'https://:9201/movies-0001?pretty'

并确认其副本显示在从集群上

curl -XGET -u 'admin:<custom-admin-password>' -k 'https://:9200/_cat/indices?v'

索引可能需要几秒钟才能出现。

health status index        uuid                     pri rep docs.count docs.deleted store.size pri.store.size
yellow open   movies-0001  kHOxYYHxRMeszLjTD9rvSQ     1   1          0            0       208b           208b

检索复制规则

要检索在集群上配置的现有复制规则列表,请发送以下请求

curl -XGET -u 'admin:<custom-admin-password>' -k 'https://:9200/_plugins/_replication/autofollow_stats'

{
   "num_success_start_replication": 1,
   "num_failed_start_replication": 0,
   "num_failed_leader_calls": 0,
   "failed_indices":[
      
   ],
   "autofollow_stats":[
      {
         "name":"my-replication-rule",
         "pattern":"movies*",
         "num_success_start_replication": 1,
         "num_failed_start_replication": 0,
         "num_failed_leader_calls": 0,
         "failed_indices":[
            
         ]
      }
   ]
}

删除复制规则

要删除复制规则,请向从集群发送以下请求

curl -XDELETE -k -H 'Content-Type: application/json' -u 'admin:<custom-admin-password>' 'https://:9200/_plugins/_replication/_autofollow?pretty' -d '
{
   "leader_alias" : "my-connection-alias",
   "name": "my-replication-rule"
}'

当您删除复制规则时,OpenSearch 会停止复制匹配该模式的索引,但该规则先前创建的现有索引仍保持只读并继续复制。如果您需要停止现有复制活动并允许对索引进行写入,请使用停止复制 API 操作

剩余 350 字符

有问题?

想做贡献?