全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

大数据面试题:经典面试题答疑(五)

发布时间:2022-06-08 17:16:00
发布人:syq

  大数据经典面试题答疑---经常问的原理问题总结(系列文章,持续更新),帮你解决大数据开发中的困扰。

  1. kafka

  2. ProducerRecord

  3. 原理

  4.消费者

  5. 文件分布

  答案专区:

  1.kafka  

  1.1. AR,ISR,OSR

  AR(所有副本)=ISR(在一定程度上与leader副本保持同步,包括leader副本)+OSR(与leader滞后太多的副本,不包括leader副本)

  在正常情况下,AR应该是和ISR一样的,但是当某个Follower副本落后太多或者某个Follower副本节点挂掉了,那么它会被移出ISR放入OSR中,kafka的选举也比较简单,就是把ISR中的第一个副本选举成新的Leader节点。比如现在AR=[1,2,3],1挂掉了,那么ISR=[2,3],这时会选举2为新的Leader。

  1.2. ISR 与 HW 和 LEO 关系

wps9cJ6BX

wpsDfCFub

  LEO的最小值是该分区的HW,当所有副本都复制成功后,LEO与HW相等

  1.3. 重要参数

wpsfUzATg

wpsXWGMuc

  2.ProducerRecord

  2.1. ProducerRecord

wpsCFs0Aw

  如果 key 不为 null,那么默认的分区器会对 key 进⾏哈希(采⽤ MurmurHash2 算法,具备 ⾼运算性能及低碰撞率),最终根据得到的哈希值来计算分区号,拥有相同 key 的消息会被写⼊同⼀个分区。如果 key 为 null,那么消息将会以轮询的⽅式发往主题内的各个可⽤分区。

  ***\*注意:\****如果 key 不为 null,那么计算得到的分区号会是所有分区中的任意⼀个;如果 key 为 null 并且有可⽤分区时,那么计算得到的分区号仅为可⽤分区中的任意⼀个,注意两者之间的差 别。

  2.2. 消息发送到broker

  有可能需要经过拦截器(Interceptor)、序列化器(Serializer)和分区器(Partitioner)的⼀系列作⽤之后才能被真正地发往 broker。

  生产者拦截器,实现ProducerInterceptor接口:

  onSend() :在消息发送之前执行

  onAcknowledgement():在消息被应答之前或消息发送失败,优于callback执行。

  拦截链:按配置先后执行

  3.原理

wpsab4gge

  4.消费者

  可以订阅多主题,可以订阅指定分区,可以暂停和重新启用某个分区消费,指定offset消费。

wpsYklvSn

  在旧消费者客户端中,消费位移是存储在 ZooKeeper 中的。⽽在新消费者客户端中,消费位移存储在 Kafka 内部的主题__consumer_offsets 中。

wpspOV5VF

  消费者拦截器,以提交offset为分界点,有两个方法可以执行.

  5.文件分布

06

  分段好处(segment):数据查找快,好删除,磁盘不是无限大

  .timeindex:数据删除使用

  数据删除方式:根据时间;消息大小;消息偏移量

  更多关于大数据培训的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。

相关文章

抖音小店怎么看购物车商品

抖音小店怎么看购物车商品

2023-10-08
蓝v抖音小店怎么开通店铺

蓝v抖音小店怎么开通店铺

2023-10-08
抖音小店运营人员招聘要求高吗

抖音小店运营人员招聘要求高吗

2023-10-08
抖音小店怎么更改类目名称

抖音小店怎么更改类目名称

2023-10-08

最新文章

上海物联网培训一般费用多少

上海物联网培训一般费用多少

2023-09-12
北京物联网培训费用大概多少

北京物联网培训费用大概多少

2023-09-12
北京物联网培训需要费用高不高

北京物联网培训需要费用高不高

2023-09-12
上海效果好的物联网培训费用高吗

上海效果好的物联网培训费用高吗

2023-09-12
在线咨询 免费试学 教程领取