首页 > 其他 > 详细

大数据面试题

时间:2020-04-26 12:33:25      阅读:41      评论:0      收藏:0      [点我收藏+]

kfaka

1.怎么解决kafka数据丢失的问题?

kafka有两种发送数据的模式,异步和同步,默认选择的是同步发送消息。

同步:在同步模式如果ack消息确认机制为1只保证主节点写入成功,在进行主从复制如果主节点宕机,从节点将没有数据,数据就会丢失。

所以设置ack消息确认机制为-1,消息写入主节点和从节点才算成功。

异步:在异步模式当缓冲区满了,如果ack=0就会清空缓冲池消息。

所以在kafka配置文件设置成不限制阻塞超时时间,一直等待就保证数据不会丢失。

 

同步和异步区别:

同:发送消息到分区再进行主从复制,客户端收到服务器确认。

异:发送消息到缓冲区,然后写入集群中,速度比较快。

 

ack=0只发送一次,不管是否成功。

ack=1主写入就成功。

ack=-1主副本都写入成功。

 

2.kafka消费组?

消息组里面有多个消费者,消费topic下面所有分区,

每个分区只能由同一个消费组内一个消费者来消费。

 

3.kafka为什么高吞吐量。

1)顺序读写,不断追加到文件。

2)零拷贝,数据从内核到内核再到网卡。

3)分区,并行消费。

4)批量发送消息。

5)数据压缩,生产者对数据进行压缩,消费者解压。

 

4.zookeeper在kafka中的作用?

老版本存元数据信息。

新版本进行选举和检测broker是否存活。

 

大数据面试题

原文:https://www.cnblogs.com/chong-zuo3322/p/12778562.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!