当前位置: 首页 > news >正文

【大数据学习 | kafka高级部分】kafka的数据同步和数据均衡

1. 数据同步

通过上图我们发现每个分区的数据都不一样,但是三个分区对外的数据却是一致的

这个时候如果第二个副本宕机了

但是如果是leader副本宕机了会发生什么呢?

2. 数据均衡

在线上程序运行的时候,有的时候因为上面副本的损坏,从而系统会自动选举出来一个新的leader并且分配到不同的节点上,有的时候这个leader的节点分布的并不是特别均匀,这个时候就需要进行均衡一下,使得每个broker的节点压力均衡

这个时候需要以下三个参数进行控制

参数解释
auto.leader.rebalance.enable系统每隔300s会自动检查系统的leader分布是否均匀,如果不均匀会自动进行leader的切换
leader.imbalance.per.broker.percentagebroker上的leader比例超过10%认为不均衡
leader.imbalance.check.interval.seconds检查间隔300s默认值

auto.leader.rebalance.enable 这个开关开启会自动选举或者切换leader节点,并且分布在不同的节点上,但是有的时候这个开关开启会影响系统性能,因为线上环境切换leader是比较繁琐的

但是不开的话可能会出现启动kafka而没有leader分区的情况

一般我们会关闭这个开关并且选择手动切换均衡

kafka-leader-election.sh --bootstrap-server hadoop106:9092 --topic topic_a --partition 1 --election-type preferred

优先在ISR中选举出来新的leader进行负载

并且我们也可以自己进行副本的位置进行设定

# 首先创建一个topic.json 输入如下内容
{"topics":[{"topic":"topic_a"}],"version":1}
# 整体代码命令如下
kafka-reassign-partitions.sh --bootstrap-server nn1:9092 --broker-list 0,1,2,3,4 --topics-to-move-json-file topic.json --generate

使用这个均衡优化命令生成优化计划

{"version":1,"partitions":[{"topic":"topic_a","partition":0,"replicas":[3,4,0],"log_dirs":["any","any","any"]},{"topic":"topic_a","partition":1,"replicas":[4,0,1],"log_dirs":["any","any","any"]},{"topic":"topic_a","partition":2,"replicas":[0,1,2],"log_dirs":["any","any","any"]},{"topic":"topic_a","partition":3,"replicas":[1,2,3],"log_dirs":["any","any","any"]}]}

修改其中副本的位置

并且设定ISR的优先顺序


http://www.mrgr.cn/news/68044.html

相关文章:

  • 梧桐数据库模式匹配解锁文本搜索的高级技巧
  • AI 大模型与 GKData:重塑软件开发新范式
  • 释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作
  • Flutter常用命令整理
  • 【题解】—— LeetCode一周小结44
  • [Web安全 网络安全]-学习文章汇总导航(持续更新中)
  • 经典网络模型
  • brainpy 动力学编程基础
  • 最新kubernetes搭建(k8s)(已成功搭建)
  • 【科普】卷积、卷积核、池化、激活函数、全连接分别是什么?有什么用?
  • 【软考】错题总结:1106
  • [CUDA] 判断一个指针是GPU还是CPU
  • 远程控制项目第四天 功能实现
  • Claude Prompt:博弈天平|缘起自李继刚老师的提示词
  • 使用PyQt5设计一个简易计算器
  • 【测试】【Debug】pytest运行后print没有输出
  • CPU Study-Multi-Port Cache
  • golang函数
  • 使用开源Embedding模型嵌入高维空间向量
  • Linux命令--paste
  • 【大模型系列】Grounded-VideoLLM(2024.10)
  • Java学习篇之JVM 调优
  • linux进程的状态之环境变量
  • 【贪心算法】No.1---贪心算法(1)
  • linux 进程调度学习笔记
  • 迭代解法:Jacobi、Gauss-Seidel、SOR