kafka官方文档学习笔记3--配置简述

Kafka使用key-value键值对格式的配置,这些配置即可以在进程启动时,根据指定的properties文件加载,也可以通过编程的方式,在程序中动态指定;根据集群中角色的不同分为6种配置:

  • broker配置:broker实例使用的默认配置;
  • topic配置:某个topic所使用的配置,如果显式指定,则覆盖broker实例的同名默认配置;
  • producer配置:针对producer实例;
  • consumer配置:针对consumer实例;
  • Connect配置:针对connector实例;
  • Stream配置:针对stream实例;
  • 管理端配置:用于管理集群权限的配置;

broker配置

常用配置:

  • broker.id:用于唯一标识集群中的一个broker实例;每个broker实例的id在集群中必须是全局唯一的;如果未指定,则由zookeeper自动生成;
  • log.dirs:区别于log.dir配置,指定日志数据存放路径;若没有指定,则使用log.dir配置指定的路径;如果配置多个路径,则broker会根据"最少使用"原则,把同一个分区的日志保存到同一个路径下;

broker会向拥有最少分区数量的路径下新增分区;

  • zookeeper.connect:broker集群所使用的zookeeper集群连接信息;格式:hostname:port/path,多个地址使用逗号分隔;/path是zookeeper的路径,作为kafka集群的chroot环境。默认使用/根路径;如果chroot路径不存在,broker启动时会自动创建;

使用chroot路径是一种最佳实践,可以将zookeeper集群共享给其它应用或者kafka集群使用;

  • num.recovery.threads.per.data.dir:每个目录处理消息日志的线程数;默认每个目录使用1个线程;对于有大量partition的broker来说,增加线程数,可以加快消息日志的处理速度;

如下情况会使用消息日志处理线程:
1)服务器正常启动时,用于打开每个分区的日志片段;
2)服务器崩溃重启时,用于检查和截断每个分区的日志片段;
3)服务器正常关闭时,用于关闭日志片段;

  • auto.create.topics.enable:如果topic不存在,是否允许自动创建topic;

如下几种情况下会创建topic:
1)生产者写入消息时;
2)消费者读取消息时;
3)客户端发送元数据请求时;

topic配置

topic相关的配置即可以使用broker的默认配置,也可以重写每个topic个自的配置;

  1. 在创建topic时重写配置:在命令行创建topic时,可以通过--config重写配置;示例如下:
> bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic my-topic --partitions 1 --replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1
  1. 在更新topic时重写配置:通过--add-config添加配置,示例如下:
> bin/kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name my-topic --alter --add-config max.message.bytes=128000

通过--describe查看配置,示例如下:

> bin/kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name my-topic --describe

通过--delete-config删除配置,示例如下:

> bin/kafka-configs.sh --zookeeper localhost:2181  --entity-type topics --entity-name my-topic --alter --delete-config max.message.bytes

各个模块详细配置详见官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值