Elasticsearch的CCR过程及其参数解读

概观:

  1. 复制是索引层面的,以为这从索引的配置和主索引一致(shards数量,replicas数量)
  2. 复制是active-passive模式,意味着主索引可以写入,而从索引不能直接写入,只能被动的同步主索引的数据
  3. 复制是pull-based的模式,是由从集群驱动同步的,对主集群没有影响

版本要求:

  从集群的版本必须等于或者高于主集群的版本

 

过程解析:

  复制过程主要分为两个阶段(对应ES写入的两个阶段,复制落地到磁盘的segment和复制写入缓存区还未落地到磁盘的数据)

  Step1--复制远程leader集群的segment到 本地 follower集群

  Step2--复制远程leader集群的 operator records (存在内存缓冲区和translog )到 本地follower集群。

Step1的过程(复制segment到从集群)

通过remote recovery的功能进行复制,复制远程集群的segment到本地集群,是一个网络密集型的过程。可以通过以下参数控制复制过程对网络的压力。

 

ccr.indices.recovery.max_bytes_per_sec 限制每个节点上的总入站和总出站的远程流量(速度)。(默认值是40mb),当主集群和从集群都设置这个值后,先达到限制值的先其作用。即如果主集群设置20mb,从集群设置60mb,那么主集群也只会想从集群发送20mb。这个参数常用

ccr.indices.recovery.max_concurrent_file_chunks:复制文件的并行度,即可以同时复制接个文件,默认值是5,最大值为10.

ccr.indices.recovery.chunk_size:复制文件一次请求的最大限制,默认值是1mb

ccr.indices.recovery.recovery_activity_timeout:leader等待follower恢复请求的时间,默认值是60s

ccr.indices.recovery.internal_action_timeout: 在远程恢复过程中单个网络请求的超时值,默认值是60s

 

Step2的执行过程(复制缓存区数据到从集群)

max_read_request_operation_count : 每次request读取的最大operate records的条数。默认值是5120

max_read_request_size : 每次request读取的最大operate records的size。默认值是32mb

max_outstanding_read_requests : 最多可以有多少个request同时读取,默认值是12

read_poll_timeout : 等待新的操作记录的超时时间,默认值是1min

max_retry_delay : 如果request失败了,等待重试的时间,默认值是"500ms",

 

max_write_buffer_count" : writer buffer的最大记录数,默认值是2147483647,

max_write_buffer_size" :  writer buffer的最大size,默认值是"512mb",

 

max_write_request_operation_count : 一次bulk最大写入条数,默认值是5120,

max_write_request_size" : 一次buld最大写入size,默认值是9223372036854775807b

max_outstanding_write_requests" : 最多可以有多少个bulk writer , 默认值是9

The follower shard task updates some statistics and immediately sends another read request to the leader shard.意味着,每次请求返回的条件是3个满足一个就返回(读取最大size,读取最大的条数records或者读取等待的时间timeout).

 

参考官网文档

https://www.elastic.co/guide/en/elasticsearch/reference/7.x/ccr-overview.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值