Kafka面试题

  • Kafka的用途有哪些?使用场景如何?
    Kafka具有吞吐量大 简单的优点,适用于日志收集 大数据实时计算等场景

  • Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么
    AR:Assigned Replicas 所有副本列表
    ISR:InSync Replicas 同步副本列表
    ISR expand : 有副本恢复同步状态
    ISR shrink : 有副本脱离同步状态

  • Kafka中的HW、LEO、LSO、LW等分别代表什么?
    HW: High Watermark/高水位。 是已备份消息位置,HW之前的消息均可被consumer消费 leader.HW=min(ISR.LEO) follower.HW=min(follower.LEO,leader.HW)
    LEO: Log End Offset/日志末端偏移。是下一条消息写入位置(LEO=10 有9条消息)
    LSO:last stable offset/稳定偏移 。 LSO之前的消息状态都已确认(commit/aborted)主要用于事务
    LW:

  • Kafka中是怎么体现消息顺序性的?
    kafka每个partition中的消息在写入时都是有序的,消费时,每个partition只能被每一个group中的一个消费者消费,保证了消费时也是有序的。
    整个topic不保证有序

  • Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?
    分区器:根据键值确定消息应该处于哪个分区中,默认情况下使用轮询分区,可以自行实现分区器接口自定义分区逻辑
    序列化器:键序列化器和值序列化器,将键和值都转为二进制流 还有反序列化器 将二进制流转为指定类型数据
    拦截器:两个方法 doSend()方法会在序列化之前完成 onAcknowledgement()方法在消息确认或失败时调用 可以添加多个拦截器按顺序执行
    调用顺序: 拦截器doSend() -> 序列化器 -> 分区器

  • Kafka生产者客户端的整体结构是什么样子的?

  • “消费组中的消费者个数如果超过topic的分区,那么就会有消费者消费不到数据”这句话是否正确?如果不正确,那么有没有什么hack的手段?
    正确

  • 消费者提交消费位移时提交的是当前消费到的最新消息的offset还是offset+1?
    offset+1

  • 有哪些情形会造成重复消费?
    消费者消费后没有commit offset(程序崩溃/强行kill/消费耗时/自动提交偏移情况下unscrible)

  • 那些情景下会造成消息漏消费?
    消费者没有处理完消息 提交offset(自动提交偏移 未处理情况下程序异常结束)

  • KafkaConsumer是非线程安全的,那么怎么样实现多线程消费?
    每个线程一个消费者

  • 简述消费者与消费组之间的关系
    消费者从属与消费组,消费偏移以消费组为单位。每个消费组可以独立消费主题的所有数据,同一消费组内消费者共同消费主题数据,每个分区只能被同一消费组内一个消费者消费。

  • 当你使用kafka-topics.sh创建(删除)了一个topic之后,Kafka背后会执行什么逻辑?
    创建:在zk上/brokers/topics/下节点 kafkabroker会监听节点变化创建主题
    删除:调用脚本删除topic会在zk上将topic设置待删除标志,kafka后台有定时的线程会扫描所有需要删除的topic进行删除

  • topic的分区数可不可以增加?如果可以怎么增加?如果不可以,那又是为什么?
    可以增加

  • topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?
    不能减少 会丢失数据

  • 创建topic时如何选择合适的分区数?
    根据集群的机器数量和需要的吞吐量来决定适合的分区数

  • Kafka目前有那些内部topic,它们都有什么特征?各自的作用又是什么?
    __consumer_offsets 以双下划线开头,保存消费组的偏移

  • 优先副本是什么?它有什么特殊的作用?
    优先副本 会是默认的leader副本 发生leader变化时重选举会优先选择优先副本作为leader

  • Kafka有哪几处地方有分区分配的概念?简述大致的过程及原理

  1. 创建主题时
    如果不手动指定分配方式 有两种分配方式

  2. 消费组内分配

  • 简述Kafka的日志目录结构
    每个partition一个文件夹,包含四类文件.index .log .timeindex leader-epoch-checkpoint
    .index .log .timeindex 三个文件成对出现 前缀为上一个segment的最后一个消息的偏移 log文件中保存了所有的消息 index文件中保存了稀疏的相对偏移的索引 timeindex保存的则是时间索引
    leader-epoch-checkpoint中保存了每一任leader开始写入消息时的offset 会定时更新
    follower被选为leader时会根据这个确定哪些消息可用

  • Kafka中有那些索引文件?
    如上

  • 如果我指定了一个offset,Kafka怎么查找到对应的消息?

  1. 通过文件名前缀数字x找到该绝对offset 对应消息所在文件
  2. offset-x为在文件中的相对偏移
    3.通过index文件中记录的索引找到最近的消息的位置
    4.从最近位置开始逐条寻找
  • 如果我指定了一个timestamp,Kafka怎么查找到对应的消息?
    原理同上 但是时间的因为消息体中不带有时间戳 所以不精确

  • 聊一聊你对Kafka的Log Retention的理解
    kafka留存策略包括 删除和压缩两种
    删除: 根据时间和大小两个方式进行删除 大小是整个partition日志文件的大小
    超过的会从老到新依次删除 时间指日志文件中的最大时间戳而非文件的最后修改时间
    压缩: 相同key的value只保存一个 压缩过的是clean 未压缩的dirty 压缩之后的偏移量不连续 未压缩时连续

  • 聊一聊你对Kafka的Log Compaction的理解
    如上

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,056评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,842评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,938评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,296评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,292评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,413评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,824评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,493评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,686评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,502评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,553评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,281评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,820评论 3 305
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,873评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,109评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,699评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,257评论 2 341