中文文档

Kafka 通知设置

本页面文档化了配置 Kafka 服务作为 Bucket Notifications 目标的设置。 请参阅 发布事件到Kafka,以获取使用这些设置的教程。

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

  • 在启动或重新启动 MinIO 服务器之前,在宿主系统上定义一个 环境变量。 请参阅您的操作系统的文档,了解如何定义环境变量。

  • 使用 mc admin config set 命令来设置一个 配置项

  • 使用 MinIO控制台管理员 > 设置 页面来设置一个 配置项

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

有些设置只有环境变量或配置设置,而不是两者都有。

重要

每个配置设置都控制着MinIO的基本行为和功能。 MinIO 强烈建议 在较低的环境中,如DEV或QA,测试配置更改,然后再将其应用到生产环境中。

多个 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 上,而不是每个单独的参数上。

设置

Enable

必需的

MINIO_NOTIFY_KAFKA_ENABLE

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

默认为 off .

notify_kafka

用于定义与 MinIO存储桶通知 一起使用的Kafka服务端点的顶级配置键。

使用 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
notify_kafka brokers

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

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

在 RELEASE.2023-05-27T05-56-19Z 版本发生变更: 在添加目标之前,MinIO会检查指定URL的健康状况(如果其能被解析并可以访问)。 如果现有目标离线,MinIO不再阻止添加新的通知目标。

Topic

可选

MINIO_NOTIFY_KAFKA_TOPIC
notify_kafka topic

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

SASL

可选

MINIO_NOTIFY_KAFKA_SASL
notify_kafka sasl

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

SASL 用户名

可选

MINIO_NOTIFY_KAFKA_SASL_USERNAME
notify_kafka sasl_username

指定用于对Kafka代理(broker)执行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 版本发生变更: 当作为 mc admin config get 命令的一部分返回时,MinIO 会删除这个值。

SASL Mechanism

可选

MINIO_NOTIFY_KAFKA_SASL_MECHANISM
notify_kafka sasl_mechanism

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

  • PLAIN (Default)

  • SHA256

  • SHA512

TLS 客户端身份验证

可选

MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH
notify_kafka tls_client_auth

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

Value

Authentication Type

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 version

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

批量大小

可选

MINIO_NOTIFY_KAFKA_BATCH_SIZE
notify_kafka batch_size

指定整数值作为发送记录到Kafka的 批量大小

在 RELEASE.2023-12-02T10-51-33Z 版本发生变更: MinIO 之前将这个值限制为 100

队列目录

可选

MINIO_NOTIFY_KAFKA_QUEUE_DIR
notify_kafka queue_dir

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

MinIO 在 Kafka 服务器/代理(broker)离线时,将未交付的事件存储在指定的存储中,并在连接恢复时重新播放存储的事件。

队列限制

可选

MINIO_NOTIFY_KAFKA_QUEUE_LIMIT
notify_kafka queue_limit

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

Comment

可选

MINIO_NOTIFY_KAFKA_COMMENT
notify_kafka comment

指定一个注释,用于与 Kafka 配置关联。

压缩编解码器

在 MinIO 版本加入: Server RELEASE.2023-12-09T18-17-51Z

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_CODEC
notify_kafka compression_codec

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

支持的以下值:

  • none

  • snappy

  • gzip

  • lz4

  • zstd

压缩级别

在 MinIO 版本加入: Server RELEASE.2023-12-09T18-17-51Z

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_LEVEL
notify_kafka compression_level

基于配置的压缩编解码器,控制应用的压缩级别。

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

Join Slack 商业支持购买咨询