kafka
文章平均质量分 89
kafka原理剖析
陈猿解码
这个作者很懒,什么都没留下…
展开
-
kafka事务剖析
【kafka事务简介】在kafka的0.11版本中,引入了kafka事务的特性,确保在一个事务中发送的多条消息,要么都成功,要么都失败。这里说的多条消息可以是发送给不同topic的多个消息。kafka事务机制的使用,更多的是在流式计算中,从消息源获取消息,然后通过一系列计算最后发送到kafka的场景中,保证每条消息恰好被计算一次,从而实现输入输出端到端的Exactly Once的语义。【事务的使用...原创 2023-03-04 23:11:34 · 694 阅读 · 0 评论 -
kafka的消息持久化文件
最近排查kafka的问题,涉及到了kafka的消息存储,本文就相关内容进行总结。我们都知道,topic是有分区(partition)的概念的, 生产者往同一个topic发送的消息最终是发送到了不同的分区里面。也就是说,一个topic里的消息是由该topic下所有分区里的消息组成的。在同一个分区里,消息是有序的,而不同分区中,消息是不能保证有序的。有了这个简单认识后,自然可以知道,每个分区仅会存储该...原创 2023-01-03 23:22:13 · 593 阅读 · 0 评论 -
kafka的消费者组(上)
最近在排查一个sparkstreaming在操作kafka时,rebalance触发了一个异常引起任务失败,而组内小伙伴对消费者组的一些基本知识不是很了解,所以抽了些时间进行相关原理的整理。本文就来聊聊相关内容。【消费者组的基本原理】在kafka中,多个消费者可以组成一个消费者组(consumer group),但是一个消费者只能属于一个消费者组。消费者组保证其订阅的topic的每个分区只能分配给...原创 2023-01-13 23:52:14 · 1737 阅读 · 0 评论 -
kafka的消费者组(下)
上一文对消费者组的一些概念,基本原理进行了简单描述,本文继续来聊聊消费者组中另外一个比较重要的内容:偏移量的存储。【消费者偏移量的提交】1.消息消费的整体流程介绍消费者在成功加入消费者组,并得到分配的分区信息后,对分配的分区依次向服务端发送请求获取上一次提交的偏移信息,并在内存中记录获取到的偏移量信息;随后向服务端发送fetch(消息)请求,在该请求中就包含了内存中记录的偏移量信息,即从指定位置...原创 2023-02-08 23:31:03 · 344 阅读 · 0 评论 -
kafka中 DescribeLogDirs请求参数引起的一个问题
某天,测试人员找到我,反馈说CI的kafka用例失败了,麻烦定位一下。"麻烦先找下我们的小马甲——公共服务",这句话还没发出去,对方已经先把环境信息给发了过来。想想应该是个小问题,索性直接先看了。然后习惯性的登录到环境,先看下进程在不在、端口有没有监听、能不能生产消费后,发现一切都正常后,服务本身好像没什么毛病。这才问了下测试的兄弟,是什么用例失败,具体表现是怎样的?测试:“喏,所有请求都正常,唯...原创 2022-11-19 23:15:03 · 637 阅读 · 0 评论 -
kafka之ranger插件的一个坑
之前文章写过kafka的鉴权,以及集成ranger插件的配置使用。但真正在用起来后,发现里面有个坑,本文就来聊聊这个坑的情况以及排查过程。【问题现象】kafka在集成了ranger插件实现鉴权功能后,发现过一段时间后,controller无法正确连接上broker,并有如下报错:// server.log中的日志[2022-12-0615:32:48,068] ERROR [Controlle...原创 2022-12-09 22:58:04 · 1353 阅读 · 0 评论 -
Kafka——listeners
kafka中提供了listeners和advertised.listeners两个配置项,两个配置项的具体含义和作用是什么,有些什么区别,以及应该如何进行配置呢?【概念理解】要搞清楚这些...原创 2020-04-05 23:43:07 · 5518 阅读 · 0 评论 -
kafka问题的一次不负责任排查
2022的第一篇文章,分享总结下一个kafka问题的排查过程。【问题现象】元旦前,某测试环境因为网络不稳定,出现了kafka与zookeeper连接断开后,没有重连。【问题定位】初步查看了...原创 2022-01-06 01:20:38 · 2913 阅读 · 0 评论 -
kafka的访问控制
【概述】通常情况下,Kafka部署后都是自己的业务进行生产消费,但也有一些情况,比如通过kafka和第三方对接,甚至是多个三方对接;或者是多用户使用同一套kafka集群,各自使用不同的topic。在这种场景下,一般不希望不同的用户能访问彼此的数据,因此需要进行权限控制,这就会用到Kafka中的ACL。Kafka中的ACL定义为:来自指定主机(Host)的指定用户(User...原创 2022-08-10 23:40:15 · 1860 阅读 · 0 评论 -
基于ranger的kafka权限控制
上一篇文章讲到了kafka中的ACL,也提到了是以插件式的形式实现的,本文就来聊聊基于ranger的kafka访问控制。【ranger插件安装】要使用ranger插件,首先需要对ranger的kafka插件包进行解压缩,然后进入解压缩后的目录,修改安装的配置文件`install.properties`,具体修改的配置项包括:# 插件安装位置(通常就是kafka的安装位置)COMPONENT_IN...原创 2022-08-16 00:02:24 · 1900 阅读 · 0 评论 -
kafka客户端消息发送逻辑
【引言】最近遇到了一个和kafka相关的问题,具体是在spark任务在一定并行度的情况下, 偶现个别executor因kafka消息发送超时导致失败的情况。正所谓磨刀不误砍柴工,为了能较好的定位问题,因此先对kafka客户端消息发送相关逻辑的代码进行了走读,本文就是对相关原理的一些总结。【相关概念(数据结构)】在客户端里,一些重要的概念或对应的数据结构包括:1. Prod......原创 2022-07-16 00:37:36 · 753 阅读 · 0 评论