Kafka 通知设置

本页面记录了将 Kafka 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参见 将事件发布到 Kafka

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

多个 Kafka 目标

你可以在顶层键后附加唯一标识符 _ID,为每组相关的 Kafka 设置指定多个 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

envvar

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

默认为 off

notify_kafka

mc-conf

用于定义 Kafka 服务端点并与 MinIO bucket notifications 配合使用的顶层配置键。

使用 mc admin config set 设置或更新 Kafka 服务端点。 对于每个目标,brokers 参数都是必需的。 其他可选参数请以空白字符(" ")分隔的列表形式指定。

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

Brokers

必需

MINIO_NOTIFY_KAFKA_BROKERS

envvar

notify_kafka brokers

mc-conf

指定以逗号分隔的 Kafka broker 地址列表。 例如:

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

Topic

可选

MINIO_NOTIFY_KAFKA_TOPIC

envvar

notify_kafka topic

mc-conf

指定 MinIO 发布存储桶事件的 Kafka topic 名称。

SASL

可选

MINIO_NOTIFY_KAFKA_SASL

envvar

notify_kafka sasl

mc-conf

指定 on 以启用 SASL 身份验证。

SASL Username

可选

MINIO_NOTIFY_KAFKA_SASL_USERNAME

envvar

notify_kafka sasl_username

mc-conf

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

SASL Password

可选

MINIO_NOTIFY_KAFKA_SASL_PASSWORD

envvar

notify_kafka sasl_password

mc-conf

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

SASL Mechanism

可选

MINIO_NOTIFY_KAFKA_SASL_MECHANISM

envvar

notify_kafka sasl_mechanism

mc-conf

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

  • PLAIN(默认)
  • SHA256
  • SHA512

TLS Client Auth

可选

MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH

envvar

notify_kafka tls_client_auth

mc-conf

指定 Kafka broker 的客户端身份验证类型。 下表列出了支持的取值及其映射关系

身份验证类型
0NoClientCert
1RequestClientCert
2RequireAnyClientCert
3VerifyClientCertIfGiven
4RequireAndVerifyClientCert

有关各客户端身份验证类型的更多信息,请参见 ClientAuthType

TLS

可选

MINIO_NOTIFY_KAFKA_TLS

envvar

notify_kafka tls

mc-conf

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

TLS Skip Verify

可选

MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY

envvar

notify_kafka tls_skip_verify

mc-conf

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

  • 指定 on 以禁用 TLS 验证(默认)。
  • 指定 off 以启用 TLS 验证。

Client TLS Cert

可选

MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT

envvar

notify_kafka client_tls_cert

mc-conf

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

Client TLS Key

可选

MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY

envvar

notify_kafka client_tls_key

mc-conf

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

Version

可选

MINIO_NOTIFY_KAFKA_VERSION

envvar

notify_kafka version

mc-conf

指定在对 Kafka 集群执行操作时假定的 Kafka 集群版本。 有关此字段行为的更多信息,请参见 sarama reference documentation

Batch Size

可选

MINIO_NOTIFY_KAFKA_BATCH_SIZE

envvar

notify_kafka batch_size

mc-conf

指定整数值,作为向 Kafka 发送记录时的 batch size

Queue Directory

可选

MINIO_NOTIFY_KAFKA_QUEUE_DIR

envvar

notify_kafka queue_dir

mc-conf

指定目录路径以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events

当 Kafka server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。

Queue Limit

可选

MINIO_NOTIFY_KAFKA_QUEUE_LIMIT

envvar

notify_kafka queue_limit

mc-conf

指定未投递消息的最大限制。 默认为 100000

Comment

可选

MINIO_NOTIFY_KAFKA_COMMENT

envvar

notify_kafka comment

mc-conf

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

Compression Codec

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_CODEC

envvar

notify_kafka compression_codec

mc-conf

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

支持以下取值:

  • none
  • snappy
  • gzip
  • lz4
  • zstd

Compression Level

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_LEVEL

envvar

notify_kafka compression_level

mc-conf

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

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

最后修改 August 2, 2026: init commit (8338d5b)

本页部分内容改编自 MinIO 对象存储文档,© 2020–至今 MinIO, Inc.,依据 CC BY 4.0 授权,由 Silo 项目转换与维护。归属与署名

本页为非官方中文翻译。如与英文原文有出入,以英文原文为准。