Kafka
LewinLea
这个作者很懒,什么都没留下…
展开
-
Kafka扩容之分区扩容
分区扩容举例,主题“user_order”目前是1个分区,这里将该主题分区增加到6个,观察修改结果kafka-topics.sh --partitions 6 --alter --zookeeper dn1:2181,dn2:2181,dn3:2181 --topic user_order这里只是修改分区数,但是数据还没有迁移过去使用kafka提供的工具kafka-reassign-partitions.sh来迁移数据。迁移数据需要分三步做:生成迁移计划先手动生成一个topic.jso原创 2020-07-15 00:41:44 · 2259 阅读 · 0 评论 -
Kafka扩容之主题迁移
简述增加新服务到kafka集群是很容易的,只要为新服务分配一个独一无二的Broker ID并启动即可。但是,新的服务不会自动分配到任何数据,需要把分区数据迁移给它们,在此期间它们一直不工作,直到新的topic创建,所以,通常向集群添加机器时,你需要将一些现有的数据迁移到这些机器上。迁移数据的过程是手动启动的,但是执行过程是完全自动化的。在kafka后台内部中,kafka将添加新的服务器,并作为正在迁移分区的follower,来完全复制该分区现有的数据。当新服务器完全复制该分区的内容并加入同步副本,成为现原创 2020-07-14 23:14:29 · 355 阅读 · 0 评论 -
Kafka导致重复消费原因和解决方案
问题分析导致kafka的重复消费问题原因在于,已经消费了数据,但是offset没来得及提交(比如Kafka没有或者不知道该数据已经被消费)。总结以下场景导致Kakfa重复消费:原因1:强行kill线程,导致消费后的数据,offset没有提交(消费系统宕机、重启等)。原因2:设置offset为自动提交,关闭kafka时,如果在close之前,调用 consumer.unsubscribe() 则有可能部分offset没提交,下次重启会重复消费。例如:try { consumer.unsub原创 2020-07-13 10:12:13 · 7885 阅读 · 1 评论 -
Kafka重复消费解决方案
1.问题背景某服务(用了SpringBoot + spring-kafka)处理Kafka消息时,发现每条消息处理时间长达60+秒。几百条消息处理完后,又重新从第一条开始重复消费。2.原因分析Kafka消费者有两个配置参数:max.poll.interval.ms两次poll操作允许的最大时间间隔。单位毫秒。默认值300000(5分钟)。两次poll超过此时间间隔,Kafka服务端会进行rebalance操作,导致客户端连接失效,无法提交offset信息,从而引发重复消费。max.poll.r转载 2020-07-12 11:20:34 · 1267 阅读 · 0 评论