Broker 使用哪些磁盘
log.dirs=/home/kafka1,/home/kafka2,/home/kafka3
ZooKeeper 相关的设置
ZooKeeper 是做什么的呢?它是一个分布式协调框架,负责协调管理并保存 Kafka 集群的所有元数据信息,比如集群都有哪些 Broker 在运行、创建了哪些 Topic,每个 Topic 都有多少分区以及这些分区的 Leader 副本都在哪些机器上等信息。
# 普通配置
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181
# 让多个 Kafka 集群使用同一套 ZooKeeper 集群
# 第 1 组 kafka 集群
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181/kafka1
# 第 2 组 kafka 集群
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181/kafka2
Broker 连接相关
# 该 brocker 连接方式
listeners=PLAINTEXT://localhost:9092
Topic 管理
# 是否允许自动创建 Topic
auto.create.topics.enable
# 是否允许 Unclean Leader 选举,需要显示配置为 false。防止落后进度较多的 brocker 被选举为 leader
unclean.leader.election.enable
# 是否允许定期进行 Leader 选举。不是选,而是换 leader。需要置为 false,减少不必要的性能消耗。
auto.leader.rebalance.enable
数据留存方面
# 控制一条消息数据被保存多长时间
log.retention.{hour|minutes|ms}
# 指定 Broker 为消息保存的总磁盘容量大小
log.retention.bytes
# 控制 Broker 能够接收的最大消息大小
message.max.bytes