文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

MinIO Documentation

Kafka 通知设置

本页记录了将 Kafka 服务配置为目标的设置存储桶通知.发布事件到 Kafka有关使用这些设置的教程。

您可以通过定义以下内容来建立或修改设置:

  • an 环境变量在启动或重启 MinIO 服务器之前,请在主机系统上设置此环境变量。 有关如何定义环境变量,请参阅操作系统的文档。

  • a 配置设置使用mc admin config set.

如果您同时定义了环境变量和类似的配置设置,MinIO 将使用环境变量的值。

某些设置只有环境变量或配置设置,但没有两者都提供。

重要

每个配置设置控制着 MinIO 的基本行为和功能。 MinIO强烈建议在应用到生产环境之前,先在较低环境(如开发环境或测试环境)中测试配置变更。

多个 Kafka 目标

您可以通过附加唯一标识符来指定多个Kafka服务端点_ID将每组相关的Kafka设置置于顶层键下。

示例

例如,以下命令设置两个不同的 Kafka 服务端点作为PRIMARYSECONDARY分别:

export MINIO_NOTIFY_KAFKA_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_KAFKA_BROKERS_PRIMARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"

export MINIO_NOTIFY_KAFKA_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_KAFKA_BROKERS_SECONDARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
mc admin config set notify_kafka:primary \
   brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
   [ARGUMENT=VALUE ...]

mc admin config set notify_kafka:secondary \
   brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
   [ARGUMENT=VALUE ...]

请注意,对于配置设置,唯一标识符会附加到notify_kafka仅对整体,不对每个单独的参数。

设置

启用

必需

MINIO_NOTIFY_KAFKA_ENABLE

指定on以启用将存储桶通知发布到 Kafka 服务端点的功能。

默认值为off.

notify_kafka

用于定义Kafka服务端点的顶级配置键MinIO 存储桶通知.

使用mc admin config set设置或更新 Kafka 服务端点。brokers参数是必需for each target. 指定额外的可选参数作为空格(" ")-分隔的列表。

mc admin config set notify_kafka \
  brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
  [ARGUMENT="VALUE"] ... \

经纪人

必需

MINIO_NOTIFY_KAFKA_BROKERS
notify_kafka 经纪人

指定一个以逗号分隔的 Kafka 代理地址列表。 例如:

"kafka1.example.com:2021,kafka2.example.com:2021"

Changed in version RELEASE.2023-05-27T05-56-19Z:MinIO 在添加目标之前会检查指定 URL 的健康状态(是否可解析和可达)。 即使现有通知目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

主题

可选

MINIO_NOTIFY_KAFKA_TOPIC
notify_kafka 主题

指定 MinIO 发布存储桶事件的目标 Kafka 主题名称。

SASL

可选

MINIO_NOTIFY_KAFKA_SASL
notify_kafka sasl

指定on启用 SASL 认证。

SASL 用户名

可选

MINIO_NOTIFY_KAFKA_SASL_USERNAME
notify_kafka sasl_username

指定用于对 Kafka 代理执行 SASL/PLAIN 或 SASL/SCRAM 身份验证的用户名。

SASL 密码

可选

MINIO_NOTIFY_KAFKA_SASL_PASSWORD
notify_kafka sasl_password

指定用于对 Kafka 代理执行 SASL/PLAIN 或 SASL/SCRAM 身份验证的密码。

在版本 RELEASE.2023-06-23T20-26-00Z 中的变更:MinIO 在作为部分结果返回时会遮蔽此值mc admin config get.

SASL 机制

可选

MINIO_NOTIFY_KAFKA_SASL_MECHANISM
notify_kafka sasl_mechanism

指定用于向 Kafka 代理进行身份验证的 SASL 机制。 MinIO 支持以下机制:

  • PLAIN(默认)

  • SHA256

  • SHA512

TLS 客户端认证

可选

MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH
notify_kafka tls_client_auth

指定 Kafka 代理的客户端认证类型。 下表列出了支持的取值及其映射关系

认证类型

0

NoClientCert

1

RequestClientCert

2

RequireAnyClientCert

3

VerifyClientCertIfGiven

4

RequireAndVerifyClientCert

ClientAuthType有关每种客户端认证类型的更多信息。

TLS

可选

MINIO_NOTIFY_KAFKA_TLS
notify_kafka tls

指定on以启用与 Kafka 代理的 TLS 连接。

TLS 跳过验证

可选

MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY
notify_kafka tls_skip_verify

启用或禁用对 NATS 服务端点 TLS 证书的 TLS 验证。

  • 指定on禁用 TLS 验证(默认).

  • 指定off启用 TLS 验证。

客户端 TLS 证书

可选

MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT
notify_kafka client_tls_cert

指定用于对 Kafka 代理执行 mTLS 身份验证的客户端证书路径。

客户端 TLS 密钥

可选

MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY
notify_kafka client_tls_key

指定客户端私钥的路径,用于对 Kafka 代理执行 mTLS 身份验证。

Version

可选

MINIO_NOTIFY_KAFKA_VERSION
notify_kafka 版本

指定在对该集群执行操作时假定的Kafka集群版本。 请参阅sarama 参考文档有关此字段行为的更多信息。

Batch Size

可选

MINIO_NOTIFY_KAFKA_BATCH_SIZE
notify_kafka batch_size

指定要使用的整数值batch size用于将记录发送到 Kafka。

Changed in version RELEASE.2023-12-02T10-51-33Z:MinIO 之前将此值限制为100.

队列目录

可选

MINIO_NOTIFY_KAFKA_QUEUE_DIR
notify_kafka queue_dir

指定目录路径以启用 MinIO 的持久化事件存储,用于存放未送达的消息,例如/opt/minio/events.

当Kafka服务器/代理离线时,MinIO会将未送达的事件存储在指定存储中,并在连接恢复时重放存储的事件。

队列限制

可选

MINIO_NOTIFY_KAFKA_QUEUE_LIMIT
notify_kafka queue_limit

指定未送达消息的最大限制。 默认值为100000.

评论

可选

MINIO_NOTIFY_KAFKA_COMMENT
notify_kafka 评论

指定要与 Kafka 配置关联的注释。

压缩编解码器

MinIO 版本新增功能:Server RELEASE.2023-12-09T18-17-51Z

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_CODEC
notify_kafka 压缩编解码器

指定在向 Kafka 发送记录时使用的压缩编解码器。

支持以下值:

  • none

  • snappy

  • gzip

  • lz4

  • zstd

压缩级别

MinIO 版本新增功能:Server RELEASE.2023-12-09T18-17-51Z

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_LEVEL
notify_kafka 压缩级别

根据配置的压缩编解码器控制应用的压缩级别。

指定一个大于或等于的整数值0该值的效果取决于所选的编解码器。