Kafka集群-生产者

7tofc5zh  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(415)

我对Kafka有几个问题。如果有人能帮我回应其中一个,我会非常感激。
提前感谢:)
q1)我知道分区是跨kafka broker拆分的。但分裂是基于什么?。例如,如果我有3个代理和6个分区,如何确保每个代理有2个分区?Kafka目前是如何分裂的?
q2)当生产者发送新消息时,消息的默认格式是什么id?avro格式?如何将此默认格式更改为其他更适合的格式(例如)?
q3)我知道要配置分区内文件(日志段)的最大大小,必须更改以下配置:log.segment.bytes(默认为1g)。但是,我必须更改哪个配置参数来增加/减少目录(即分区)的最大大小?
q4)如果一个被认为是领导者的分区已经死了,那么一个追随者分区将带头。选举新领导人的步骤是什么(i、 e)新领导人的选举是如何进行的?
q5)什么是配置参数,允许我更改磁盘上两次持久化之间的时间(在磁盘上保留数据(顺序写入)
问题6)如何从Kafka经纪人的硬盘头向Kafka消费者发送消息?Kafka经纪人和Zookeeper之间的互动是什么?是zookeeper将消息发送给消费者还是kafka经纪人?
先谢谢你,

tvmytwxo

tvmytwxo1#

q1:看看如何将分区拆分为kafka broker?
问题2:代理对消息格式不可知——它们将消息视为普通字节数组。因此,它可以处理您想要的任何消息格式。格式由您自己的代码决定——选择您想要的任何格式,并向生产者/消费者提供相应的反序列化程序。
问题3:主题和分区要么在经过可配置的保留时间后被截断( log.retention.ms )或者如果他们长大了 log.retention.bytes . 此外,可以压缩主题以避免无限增长(查阅 log.cleanup.policy )
问题4:对于领导人选举,使用ApacheZooKeeper。
问题5:我不明白这个问题。
问题6:zk仅用于维护元数据(例如,确实存在哪些主题)。zk不参与客户机代理通信的任何实际数据传输。Kafka使用自己的网络协议。有关更多详细信息,请参见kafka wiki:https://cwiki.apache.org/confluence/display/kafka/index

相关问题