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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: kafka配置简述;

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

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

目录
相关文章
|
4天前
|
消息中间件 存储 Prometheus
Kafka集群如何配置高可用性
Kafka集群如何配置高可用性
|
27天前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
63 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
26天前
|
消息中间件 分布式计算 Java
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
27 2
|
27天前
|
消息中间件 Java 大数据
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
57 2
|
26天前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
97 0
|
3月前
|
消息中间件 Java 大数据
"深入理解Kafka单线程Consumer:核心参数配置、Java实现与实战指南"
【8月更文挑战第10天】在大数据领域,Apache Kafka以高吞吐和可扩展性成为主流数据流处理平台。Kafka的单线程Consumer因其实现简单且易于管理而在多种场景中受到欢迎。本文解析单线程Consumer的工作机制,强调其在错误处理和状态管理方面的优势,并通过详细参数说明及示例代码展示如何有效地使用KafkaConsumer类。了解这些内容将帮助开发者优化实时数据处理系统的性能与可靠性。
84 7
|
4月前
|
消息中间件 Kafka
面试题Kafka问题之RabbitMQ的路由配置工作如何解决
面试题Kafka问题之RabbitMQ的路由配置工作如何解决
62 1
|
4月前
|
消息中间件 NoSQL Redis
实时计算 Flink版产品使用问题之配置了最大连续失败数不为1,在Kafka的精准一次sink中,如果ck失败了,这批数据是否会丢失
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
消息中间件 存储 缓存
微服务数据问题之Kafka的默认复制配置如何解决
微服务数据问题之Kafka的默认复制配置如何解决
|
4月前
|
消息中间件 存储 资源调度
实时计算 Flink版产品使用问题之在消费Kafka的Avro消息,如何配置FlinkKafka消费者的相关参数
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。