kafka的broker配置

1.broker.id

每个broker都需要一个broker.id来唯一标识,它的默认值是0,也可以被设置成其他任意的整数。这个值在整个kafka集群里必须是唯一的,这个值是任意的整数,但是建议设置成与机器名具有相关性的整数,便于将ID号映射到机器名。例如机器名包含唯一性数字:host1.test.com/host2.test.com/host3.test.com,那么在这2台机器上部署的kafka的broker.id可以对应设置为broker.id=1/broker.id=2/broker.id=3

2.port

默认监听9092,可以设置为其他任意可用的端口。不建议使用1024以下的端口,因为需要root权限来启动kafka。

3.zookeeper.connect

zookeeper.connect指定用于保存broker元数据的Zookeeper地址。该配置参数是用冒号分隔的一组hostname:port/path列表,每一部分的含义如下:

hostname是Zookeeper服务器的机器名或IP地址;

port是Zookeeper客户端连接端口

/path是可选的Zookeeper路径,作为Kafka机器集群的chroot环境。如果不指定,默认使用根路径。如果指定的chroot路径不存在,broker会在启动的时候创建它。一旦有一个Zookeeper服务器宕机,broker还可以连接到Zookeeper集群的其他节点上。

4.log.dirs

kafka把所有消息都保存在磁盘上,存放这些日志片段的目录是通过log.dirs指定的。

5.num.recovery.threads.per.data.dir

对于如下3种情况,Kafka会使用可配置的线程池来处理日志片段:

服务器正常启动,用于打开每个分区的日志片段;

服务器崩溃后重启,用于检查和截短每个分区的日志片段;

服务器正常关闭,用于关闭日志片段。

默认配置num.recovery.threads.per.data.dir=1,设置大量线程进行并行操作,可以减少启动、关闭、崩溃恢复的时间。

6. auto.create.topics.enable

默认情况下,Kafka会在如下如下几种情形下自动创建主题:

当一个生产者开始往主题写入消息时;

当一个消费者开始从主题读取消息时;

当任意一个客户端向主题发送元数据请求时。

猜你喜欢

转载自blog.csdn.net/Wengzhengcun/article/details/83654064