管理跨集群复制
编辑管理跨集群复制
编辑使用以下信息管理跨集群复制任务,例如检查复制进度、暂停和恢复复制、重新创建跟随者索引以及终止复制。
要开始使用跨集群复制,请访问 Kibana 并转到 管理 > 堆栈管理。在侧边导航中,选择 跨集群复制。
检查复制统计信息
编辑要检查跟随者索引的复制进度并查看详细的分片统计信息,请访问跨集群复制并选择 跟随者索引 选项卡。
选择要查看复制详细信息的跟随者索引的名称。侧滑面板显示跟随者索引的设置和复制统计信息,包括由跟随者分片管理的读写操作。
要查看更详细的统计信息,请点击 在索引管理中查看,然后在索引管理中选择跟随者索引的名称。打开有关跟随者索引的详细统计信息的选项卡。
API 示例
使用获取跟随者统计信息 API检查分片级别的复制进度。此 API 提供了对跟随者分片管理的读写操作的洞察。该 API 还报告可以重试的读取异常和需要用户干预的致命异常。
暂停和恢复复制
编辑要暂停和恢复领导者索引的复制,请访问跨集群复制并选择 跟随者索引 选项卡。
选择要暂停的跟随者索引并选择 管理 > 暂停复制。跟随者索引状态更改为已暂停。
要恢复复制,请选择跟随者索引并选择 恢复复制。
重新创建跟随者索引
编辑当文档被更新或删除时,底层操作会在 Lucene 索引中保留一段时间,该时间由index.soft_deletes.retention_lease.period
参数定义。您可以在领导者索引上配置此设置。
当跟随者索引启动时,它会从领导者索引获取保留租约。此租约告知领导者,它不应允许软删除被修剪,直到跟随者指示它已收到操作,或直到租约过期。
如果跟随者索引落后于领导者,并且无法复制操作,Elasticsearch 会报告 indices[].fatal_exception
错误。要解决此问题,请重新创建跟随者索引。当新的跟随索引启动时,远程恢复过程会从领导者重新复制 Lucene 段文件。
重新创建跟随者索引是一个破坏性操作。包含跟随者索引的集群上所有现有的 Lucene 段文件都将被删除。
要重新创建跟随者索引,请访问跨集群复制并选择 跟随者索引 选项卡。
选择跟随者索引并暂停复制。当跟随者索引状态更改为已暂停时,重新选择跟随者索引并选择取消跟随领导者索引。
跟随者索引将转换为标准索引,并且将不再显示在跨集群复制页面上。
在侧边导航中,选择 索引管理。从上一步中选择跟随者索引并关闭跟随者索引。
然后,您可以重新创建跟随者索引以重新启动复制过程。
使用 API
使用暂停跟随 API暂停复制过程。然后,关闭跟随者索引并重新创建它。例如
resp = client.ccr.pause_follow( index="follower_index", ) print(resp) resp1 = client.indices.close( index="follower_index", ) print(resp1) resp2 = client.ccr.follow( index="follower_index", wait_for_active_shards="1", remote_cluster="remote_cluster", leader_index="leader_index", ) print(resp2)
response = client.ccr.pause_follow( index: 'follower_index' ) puts response response = client.indices.close( index: 'follower_index' ) puts response response = client.ccr.follow( index: 'follower_index', wait_for_active_shards: 1, body: { remote_cluster: 'remote_cluster', leader_index: 'leader_index' } ) puts response
const response = await client.ccr.pauseFollow({ index: "follower_index", }); console.log(response); const response1 = await client.indices.close({ index: "follower_index", }); console.log(response1); const response2 = await client.ccr.follow({ index: "follower_index", wait_for_active_shards: 1, remote_cluster: "remote_cluster", leader_index: "leader_index", }); console.log(response2);
POST /follower_index/_ccr/pause_follow POST /follower_index/_close PUT /follower_index/_ccr/follow?wait_for_active_shards=1 { "remote_cluster" : "remote_cluster", "leader_index" : "leader_index" }