版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
KafkaNIIT课程期末考核试题(含详细答案)适用场景:NIIT大数据技术课程结课考核、实训测评考试时长:90分钟满分:100分说明:试题贴合课堂教学+企业实战基础,无偏题怪题,答案通俗易懂,适配学生复盘、教师阅卷使用一、单项选择题(共15题,每题2分,共30分)1.以下不属于Kafka核心组件的是()A.BrokerB.TopicC.NodeD.Consumer2.Kafka的消息默认存储在以下哪种结构中()A.内存缓存B.磁盘日志文件C.数据库D.缓存队列3.Kafka中,保证同一分区内消息有序的核心原因是()A.单分区单消费者消费B.集群同步机制C.消息压缩机制D.副本备份机制4.生产者发送消息的acks配置中,可靠性最高的是()A.acks=0B.acks=1C.acks=-1D.acks=25.Kafka消费者组的核心特性是()A.组内消费者可重复消费同一消息B.组内消费者分担分区,一个分区仅被组内一个消费者消费C.所有消费者共享消费偏移量D.消费者数量必须等于分区数量6.以下关于Kafka分区(Partition)说法错误的是()A.分区是Topic的最小存储单元B.分区可以分布在不同Broker节点C.分区数量越多,吞吐量上限越高D.分区可以随意删除,不影响数据7.Kafka的ISR副本集合指的是()A.所有在线的Broker节点B.与leader副本数据同步的follower副本集合C.集群全部副本节点D.离线的副本节点集合8.消费者offset的作用是()A.标记消息压缩格式B.记录消费者当前消费到的消息位置C.统计消息总量D.控制消息发送速率9.以下哪种场景适合开启Kafka消息压缩()A.消息量小、实时性极高B.大批量日志、数据流传输C.单条超大消息传输D.少量高频指令消息10.Kafka内置的流处理组件是()A.SparkStreamingB.FlinkC.KafkaStreamsD.Storm11.当消费者组内消费者数量大于Topic分区数时,会出现的情况是()A.所有消费者均分分区B.多余消费者空闲,无法消费数据C.分区自动扩容D.集群触发重新均衡失败12.auto.offset.reset配置中,earliest的含义是()A.从最新消息开始消费B.从最早未过期消息开始消费C.跳过所有历史消息D.随机选择消费位置13.Kafka集群中leader副本的主要职责是()A.仅备份数据B.处理读写请求,同步数据给followerC.监控集群状态D.清理过期数据14.以下不属于Kafka消息丢失原因的是()A.acks=0B.消费者未提交offset程序宕机C.正常ISR副本同步D.生产者重试机制失效15.Kafka日志清理策略中,compact策略的作用是()A.按时间删除过期消息B.保留每个key的最新消息,删除历史重复key消息C.清空所有历史消息D.压缩所有消息节省空间二、判断题(共10题,每题1分,共10分,对的打√,错的打×)1.Kafka是一款基于内存的瞬时消息队列,数据不会落地磁盘。()2.同一个Topic下的不同分区,消息相互独立、互不影响。()3.消费者组不同,可重复消费同一个Topic的消息。()4.acks=-1可以完全杜绝Kafka生产者消息丢失。()5.Kafka分区数量可以动态增加,但不建议减少。()6.消费者消费消息后,不手动提交offset,消息会重复消费。()7.Follower副本可以直接处理生产者的写入请求。()8.Kafka支持消息批量发送,以此提升吞吐量。()9.开启消息压缩后,会增加CPU消耗,降低网络传输压力。()10.消费者rebalance过程中,集群可以正常消费数据,无中断。()三、简答题(共5题,每题6分,共30分)1.简单说明Kafka中Topic、Partition、副本三者的关系。2.简述Kafka消费者组的工作原理及核心作用。3.对比acks=0、acks=1、acks=-1三种配置的优缺点及适用场景。4.说明Kafka保证消息不重复、不丢失的核心方案。5.什么是消费者Rebalance?什么场景下会触发Rebalance?四、实操应用题(共3题,每题10分,共30分)1.现有一个业务Topic,分区数6,副本数2。请说明该Topic最多支持多少个消费者同时有效消费?如果消费者数量变为8个,会出现什么问题?如何优化?2.线上日志采集业务出现消息丢失问题,请分析可能的3种核心原因,并给出对应的解决办法。3.简述Kafka单机部署后,创建Topic、查看Topic列表、消费Topic消息的常用Shell命令。详细参考答案一、单项选择题答案及解析1.C解析:Kafka四大核心组件为生产者(Producer)、消费者(Consumer)、服务节点(Broker)、主题(Topic),Node不属于Kafka专属核心组件。2.B解析:Kafka核心特性为磁盘持久化存储,所有消息以日志文件形式落地磁盘,保证数据不丢失,并非纯内存存储。3.A解析:Kafka仅保证单分区内消息有序,核心原因是一个分区同一时间仅被一个消费者消费,且生产者写入分区有序。多分区无法保证全局有序。4.C解析:acks=-1(all)代表需要等待所有ISR副本同步完成后,才返回写入成功,可靠性最高,吞吐量最低。5.B解析:消费者组核心机制:一个Topic的每个分区,在同一个消费者组内仅分配一个消费者消费,实现负载均衡;不同消费者组可独立消费。6.D解析:分区存储核心业务数据,直接删除分区会导致对应数据永久丢失,生产环境禁止随意删除分区。7.B解析:ISR是In-SyncReplicas的缩写,指与leader副本数据同步、无延迟的follower副本集合,是Kafka高可用的核心机制。8.B解析:offset(偏移量)是消息的唯一位置标识,消费者通过offset记录消费位置,重启后可继续从对应位置消费。9.B解析:大批量日志、数据流消息重复度高,开启snappy、lz4等压缩可大幅减少网络传输流量,提升整体吞吐量;小消息、实时性极高的场景不适合压缩。10.C解析:KafkaStreams是ApacheKafka官方内置的轻量级流处理框架,Spark、Flink、Storm均为第三方大数据处理框架。11.B解析:分区数是消费者有效消费的上限,消费者数>分区数时,多余消费者无分区可分配,长期空闲,造成资源浪费。12.B解析:earliest表示消费者无offset记录时,从Topic最早的可用消息开始消费;latest是默认值,从最新消息开始消费。13.B解析:集群中只有leader副本处理生产者写入、消费者读取请求,follower仅同步leader数据,不处理读写请求,leader故障后ISR副本会选举新leader。14.C解析:ISR正常同步是Kafka保证数据可靠的机制,不会造成消息丢失;acks=0、offset未提交、重试失败均会导致消息丢失。15.B解析:compact压缩清理策略,不按时间删除数据,而是对相同key的消息,仅保留最新一条,适用于用户状态、配置更新等场景。二、判断题答案及解析1.×解析:Kafka核心优势是磁盘持久化存储,消息默认落地磁盘,支持数据持久化,并非纯内存队列。2.√解析:各分区独立读写、独立存储,消息互不干扰,是Kafka高吞吐量的核心设计。3.√解析:消费隔离以消费者组为单位,不同组消费位置独立,可重复消费数据。4.√解析:acks=-1配合ISR副本同步、生产者重试机制,可彻底避免生产者侧消息丢失。5.√解析:分区支持动态扩容,但分区减少会直接丢失数据,官方不支持、不建议缩容分区。6.√解析:offset未手动提交,集群不会记录消费位置,消费者重启后会重新消费历史消息。7.×解析:只有leader副本处理读写请求,follower仅负责数据同步,不对外提供服务。8.√解析:Kafka默认开启批量发送,积攒一定消息后统一发送,大幅提升网络吞吐量。9.√解析:消息压缩需要CPU计算资源,但能减少网络传输数据量,降低IO压力,适合大数据量场景。10.×解析:Rebalance期间,消费者会暂停消费,重新分配分区,过程中存在短暂消费中断。三、简答题参考答案1.Topic、Partition、副本三者关系①Topic是消息的逻辑主题,是业务数据的分类载体,用户所有的生产、消费操作都基于Topic;②Topic无法直接存储数据,会被拆分为多个Partition(分区),分区是Kafka数据存储、读写的最小单元;③每个分区会配置多个副本,分为1个leader副本和多个follower副本,副本分布在不同Broker节点;④分区负责保证吞吐量,副本负责保证数据高可用,三者结合实现Kafka高吞吐、高可靠的特性。2.消费者组工作原理及核心作用工作原理:多个消费者组成一个消费者组,集群将Topic的所有分区均匀分配给组内消费者,一个分区仅被组内一个消费者消费,消费者通过offset记录消费位置。核心作用:①实现消息负载均衡,多消费者分担消费压力,提升消费吞吐量;②实现消费隔离,不同消费者组可独立消费同一Topic数据,互不影响;③支持故障转移,消费者宕机后,组内触发Rebalance,分区重新分配给存活消费者,保证业务不中断。3.acks三种配置对比①acks=0:生产者发送消息后无需等待Broker响应,直接发送下一条。优点:吞吐量极高;缺点:完全不保证可靠性,Broker宕机、消息写入失败都会丢数据。适用:日志统计、埋点等允许少量数据丢失的场景。②acks=1(默认):仅等待leader副本写入成功即返回响应,无需等待follower同步。优点:吞吐量、可靠性均衡;缺点:leader写入成功后、follower同步前,leader宕机会丢失数据。适用:大部分常规业务场景。③acks=-1(all):等待所有ISR副本同步完成后才返回响应。优点:可靠性最高,几乎无数据丢失风险;缺点:同步延迟高,吞吐量最低。适用:订单、支付、交易等绝对不允许丢数据的核心业务。4.Kafka消息不丢失、不重复的核心方案不丢失:①生产者端:设置acks=-1、开启失败重试机制;②服务端:配置合理副本数、保证ISR同步正常;③消费者端:消费成功后再提交offset,避免提前提交导致丢数据。不重复:①消费者端:手动提交offset,保证消费和提交offset原子性;②业务层:基于消息唯一ID做幂等校验;③生产者开启幂等机制,避免重试导致的重复消息。5.消费者Rebalance定义及触发场景定义:消费者组内分区所有权重新分配的过程,集群会重新将Topic分区分配给组内存活消费者。触发场景:①消费者组内新增或下线消费者;②消费者心跳超时、宕机离线;③对应Topic分区数量扩容;④消费者会话超时,集群判定消费者失效。四、实操应用题参考答案1.业务Topic分区消费问题分析(1)有效最大消费者数量:6个。因为分区数为6,同一消费者组内,一个分区对应一个有效消费者,消费者数等于分区数时负载均衡最优。(2)消费者数量变为8个的问题:超出的2个消费者无分区可分配,长期空闲,浪费服务器资源,无法提升消费能力。(3)优化方案:根据业务吞吐量需求,将Topic分区扩容至8个及以上,即可让8个消费者全部参与负载消费;无需修改副本数,保证高可用即可。2.消息丢失核心原因及解决方案原因1:生产者配置acks=0,发送消息不校验写入结果。解决:核心业务改为acks=-1,普通业务使用acks=1,开启生产者重试。原因2:消费者消费数据前提前提交offset,程序处理异常导致数据未消费成功,但offset已更新。解决:关闭自动提交offset,业务消费处理完成后,手动批量提交offset。原因3:Broker节点故障,leader副本写入成功,follower未同步,无可用ISR副本。解决:合理设置副本数(生产环境至少2副本),保证ISR集合正常,避免单节点故障丢数。3.Kafka常用Shell命令(单机环境)1.创建Topic:kafka-topics.sh--cr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学五年级心理健康认识共情教学设计
- 八年级语文《愚公移山》导学案教学设计
- 八年级语文敬业与乐业教案(第2课时)
- 高三地理湿地生态系统结构功能与保护教学设计
- 高三历史教学设计:从曲折探索到中国道路的智慧启迪
- 高中英语高一年级北师大版必修第二册Unit5 Topic Talk教学设计
- 小学五年级音乐《小河淌水》教案-湘艺版2025-2026学年上学期
- 化繁为简:图解核心能力视角下高三语文二轮复习原题复盘教案
- 初中七年级地理教学设计:天气与气候的辨析与要素解读
- 初中八年级数学下册“函数的概念与函数的表示”教学设计
- 2024年中国显微操作器市场调查研究报告
- 生态保护区环境污染应急预案
- 旅游规划与开发-旅游管理 课程教学大纲
- 《继电保护整定计算用新能源场站建模导则》
- 三方代收款委托协议书范文
- (高清版)DB42T 2179-2024 装配式建筑评价标准
- 专升本合同协议模板
- YB/T 6169-2024 模铸浇钢车(正式版)
- 煤矿采空区岩土工程勘察规范
- 的设计史课件5包豪斯
- (正式版)JBT 11270-2024 立体仓库组合式钢结构货架技术规范
评论
0/150
提交评论