随笔分类 -  Kafka

摘要:Kafka事务未关闭导致消费者无法消费消息。 背景 最近遇到一个问题:有一个公用topic,很多应用都读写这个topic。从某个时间点开始,所有消费该topic的消费者(read_committed级别)都拉不到消息了。随机看了一些应用的日志,未发现生产者报错,仍然能正常发消息并提交事务,消费者也未 阅读全文
posted @ 2022-11-21 13:50 duanguyuan 阅读(509) 评论(0) 推荐(1) 编辑
摘要:问题描述 TopicExistsException: Topic 'xxx' is marked for deletion. 在写kafka工具时,有两个方法:批量创建topic和批量删除topic。 运维操作一般是,批量删除一堆topic,然后再重建删除的那些topic。在创建时,可能会遇到如下错 阅读全文
posted @ 2022-09-21 19:11 duanguyuan 阅读(188) 评论(0) 推荐(0) 编辑
摘要:结论 服务端停止时,客户端程序会报错; 服务端启动后,客户端程序能继续运行。也就是,消费者线程并未异常退出。 实验步骤 (1)停止后,consumer和producer会报错。 消费者: . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( 阅读全文
posted @ 2022-09-18 17:13 duanguyuan 阅读(257) 评论(0) 推荐(0) 编辑
摘要:broker端有个参数(kafka_2.13-3.2.1/config/server.properties),auto.create.topics.enable,默认为true。意思是,当生产者、消费者读写一个不存在的topic时,是否自动创建该topic。 我们使用kafka自带的脚本(kafka 阅读全文
posted @ 2022-09-18 13:58 duanguyuan 阅读(305) 评论(0) 推荐(0) 编辑
摘要:why kafka offset not sequential 未使用事务时,至少一次语义,消息重发时,会占用offset 使用事务时,每次事务的commit/abort,都会往topic(每个分区?)写一个标志,这个标志会占用offset 官方并未提及offset是连续的 Reference [S 阅读全文
posted @ 2022-05-30 16:09 duanguyuan 阅读(605) 评论(0) 推荐(0) 编辑
摘要:Kafka的事务是什么 生产者往多个topic里面写消息,要么同时成功,要么同时失败。 为什么需要事务 消息系统有3种语义: 最多一次 最少一次 精确一次。Exactly Only Once 为了实现精确一次的语义,Kafka必须引入事务。如下图: 本应用从上游topic消费消息,处理后发到下游to 阅读全文
posted @ 2022-05-30 16:03 duanguyuan 阅读(259) 评论(0) 推荐(0) 编辑
摘要:简介 Apach Kafka 是一款分布式流处理框架,用于实时构建流处理应用。它有一个核心的功能广为人知,即作为企业级的消息引擎被广泛使用。 很多主流消息引擎系统都支持 JMS(Java Message Service)规范,比如 ActiveMQ、RabbitMQ、IBM 的 WebSphere 阅读全文
posted @ 2022-05-30 16:03 duanguyuan 阅读(325) 评论(0) 推荐(0) 编辑
摘要:问题 有个需求,需要频繁seek到指定partition的指定offset,然后poll,且只poll一次,目的是为了快速将指定offset的消息拉取出来。 通常的poll写法是,将poll逻辑放在死循环里,第一次拉不到,第二次继续。如果offset上有消息,就一定能消费到: consumer.su 阅读全文
posted @ 2022-02-17 20:48 duanguyuan 阅读(3241) 评论(0) 推荐(1) 编辑
摘要:kafka在Windows 7 64上使用的一个bug: 问题描述 删除topic时导致集群崩溃,报错ERROR Shutdown broker because all log dirs in D:\tmp\kafka-logs have failed. 测试了kafka_2.11-1.1.0、ka 阅读全文
posted @ 2021-07-05 16:23 duanguyuan 阅读(3326) 评论(2) 推荐(1) 编辑
摘要:kafka 官方文档PDF版本。 文档来自官方网站,2.5版本,英文。使用chrome打印为pdf。 直接打印的话,会导致有些行内太长的代码,由于水平滚动条失效,显示不全。 因此,打印之前在 css 修改了页面宽度、字体大小等,使得 PDF 文档里代码显示完整。 kafka 2.5 document 阅读全文
posted @ 2020-06-16 09:45 duanguyuan 阅读(287) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示