热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KafkaTopic级别配置详解

本文详细介绍了如何在ApacheKafka中进行Topic级别的配置,包括创建、修改和删除配置参数的具体步骤,并提供了详细的配置属性表。
### 一、Kafka 中 Topic 级别配置

#### 1. Topic 级别配置概述

在 Apache Kafka 中,Topic 级别的配置允许用户对特定的 Topic 进行个性化的设置。这些配置可以覆盖全局配置,提供更灵活的数据管理和性能优化。

- **配置优先级**:当 Topic 级别的配置与全局配置存在冲突时,Topic 级别的配置将优先生效。
- **默认值**:如果没有设置 Topic 级别的配置,系统将使用全局配置中的默认值。

#### 2. 创建 Topic 时配置参数

在创建 Topic 时,可以通过 `--config` 参数设置一个或多个配置项。例如,创建一个名为 `my-topic` 的 Topic,并设置最大消息大小和刷新频率:

```sh
bin/kafka-topics.sh --zookeeper 192.168.2.225:2183/config/mobile/mq/mafka02 --create --topic my-topic --partitions 1 --replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1
```

#### 3. 修改 Topic 时配置参数

已经存在的 Topic 可以通过 `--alter` 参数修改其配置。例如,修改 `my-topic` 的最大消息大小:

```sh
bin/kafka-topics.sh --zookeeper 192.168.2.225:2183/config/mobile/mq/mafka02 --alter --topic my-topic --config max.message.bytes=128000
```

#### 4. 删除 Topic 级别配置参数

如果需要删除某个 Topic 的配置参数,可以使用 `--delete-config` 参数。例如,删除 `my-topic` 的最大消息大小配置:

```sh
bin/kafka-topics.sh --zookeeper 192.168.2.225:2183/config/mobile/mq/mafka02 --alter --topic my-topic --delete-config max.message.bytes
```

**注意**:Kafka 集群的根目录为 `/config/mobile/mq/mafka02`,所有节点信息均在此目录下。

### 二、Topic 级别配置属性表

| 属性 | 默认值 | 全局配置属性 | 说明 |
|------|--------|--------------|------|
| `cleanup.policy` | `delete` | `log.cleanup.policy` | 日志清理策略,可选值为 `delete` 和 `compact`,分别用于处理过期数据和日志文件达到限制的情况。|
| `delete.retention.ms` | `86400000 (24 hours)` | `log.cleaner.delete.retention.ms` | 压缩日志保留的最长时间,也是客户端消费消息的最长时间。|
| `flush.messages` | `None` | `log.flush.interval.messages` | 在将日志文件同步到磁盘之前累积的消息条数,用于平衡数据可靠性和性能。|
| `flush.ms` | `None` | `log.flush.interval.ms` | 控制 `fsync` 的时间间隔,确保即使消息量未达到阈值,也能按时同步到磁盘。|
| `index.interval.bytes` | `4096` | `log.index.interval.bytes` | 执行 `fetch` 操作后扫描最近的 `offset` 大小,设置越大扫描速度越快,但占用更多内存。|
| `message.max.bytes` | `1,000,000` | `message.max.bytes` | 消息的最大大小,单位为字节。|
| `min.cleanable.dirty.ratio` | `0.5` | `log.cleaner.min.cleanable.ratio` | 日志清理的频率控制,值越大清理效率越高,但也可能造成空间浪费。|
| `retention.bytes` | `None` | `log.retention.bytes` | 每个分区的最大文件大小,`-1` 表示无大小限制。|
| `retention.ms` | `None` | `log.retention.minutes` | 数据存储的最大时间,超过该时间将根据 `log.cleanup.policy` 设置的策略处理数据。|
| `segment.bytes` | `1 GB` | `log.segment.bytes` | 控制每个 `segment` 文件的大小。|
| `segment.index.bytes` | `10 MB` | `log.index.size.max.bytes` | `segment` 日志的索引文件大小限制。|
| `log.roll.hours` | `7 days` | `log.roll.hours` | 当日志 `segment` 未达到 `log.segment.bytes` 设置的大小时,强制新建一个 `segment`。|

推荐阅读
  • Kafka Topic 数据管理与清理策略
    本文探讨了在生产环境中如何有效管理和定期清理Kafka Topic中的数据。介绍了基于时间、日志大小和日志起始偏移量三种清除方式,并重点讲解了基于时间的清除策略及其配置方法。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 收割机|篇幅_国内最牛逼的笔记,不接受反驳!!
    收割机|篇幅_国内最牛逼的笔记,不接受反驳!! ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • EasyMock实战指南
    本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
  • 深入理解Kafka架构
    本文将详细介绍Kafka的内部工作机制,包括其工作流程、文件存储机制、生产者与消费者的具体实现,以及如何通过高效读写技术和Zookeeper支持来确保系统的高性能和稳定性。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • andr ... [详细]
  • PHP插件机制的实现方案解析
    本文深入探讨了PHP中插件机制的设计与实现,旨在分享一种可行的实现方式,并邀请读者共同讨论和优化。该方案不仅涵盖了插件机制的基本概念,还详细描述了如何在实际项目中应用。 ... [详细]
author-avatar
2335286cc
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有