解决ISR丢失—— Kafka副本同步leader能力参数

  • replicas响应leader的最长等待时间,若是超过这个时间,就将replicas排除在管理之外

replica.lag.time.max.ms = 10000

  • 如果relicas落后太多,将会认为此partition relicas已经失效。而一般情况下,因为网络延迟等原因,总会导致replicas中消息同步滞后。如果消息严重滞后,leader将认为此relicas网络延迟较大或者消息吞吐能力有限。在broker数量较少,或者网络不足的环境中,建议提高此值.(Kafka 0.9.0.0版本后移除了replica.lag.max.messages参数,只保留了replica.lag.time.max.ms作为ISR中副本管理的参数)

replica.lag.max.messages = 4000

  • leader与relicas的socket超时时间

replica.socket.timeout.ms= 30 * 1000

  • leader复制的socket缓存大小

replica.socket.receive.buffer.bytes=64 * 1024

  • replicas每次获取数据的最大字节数

replica.fetch.max.bytes = 1024 * 1024

  • replicas同leader之间通信的最大等待时间,失败了会重试

replica.fetch.wait.max.ms = 500

  • 每一个fetch操作的最小数据尺寸,如果leader中尚未同步的数据不足此值,将会等待直到数据达到这个大小

replica.fetch.min.bytes =1

  • leader中进行复制的线程数,增大这个数值会增加relipca的IO

num.replica.fetchers = 1

  • 每个replica将最高水位进行flush的时间间隔

replica.high.watermark.checkpoint.interval.ms = 5000

猜你喜欢

转载自blog.csdn.net/qq_37865420/article/details/106711362
ISR