Kafka 通知设置
本页面记录了将 Kafka 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参见 将事件发布到 Kafka。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 Kafka 目标
你可以在顶层键后附加唯一标识符 _ID,为每组相关的 Kafka 设置指定多个 Kafka 服务端点。
示例
例如,以下命令分别将两个不同的 Kafka 服务端点设置为 PRIMARY 和 SECONDARY:
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"
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
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 身份验证的密码。
变更: RELEASE.2023-06-23T20-26-00Z
当此值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。
SASL Mechanism
可选
MINIO_NOTIFY_KAFKA_SASL_MECHANISM
envvar
notify_kafka sasl_mechanism
mc-conf
指定用于对 Kafka broker 进行身份验证的 SASL 机制。 MinIO 支持以下机制:
PLAIN(默认)SHA256SHA512
TLS Client Auth
可选
MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH
envvar
notify_kafka tls_client_auth
mc-conf
指定 Kafka broker 的客户端身份验证类型。 下表列出了支持的取值及其映射关系
| 值 | 身份验证类型 |
|---|---|
| 0 | NoClientCert |
| 1 | RequestClientCert |
| 2 | RequireAnyClientCert |
| 3 | VerifyClientCertIfGiven |
| 4 | RequireAndVerifyClientCert |
有关各客户端身份验证类型的更多信息,请参见 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。
变更: RELEASE.2023-12-02T10-51-33Z
MinIO 先前将此值限制为 100。
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
Server RELEASE.2023-12-09T18-17-51Z
可选
MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_CODEC
envvar
notify_kafka compression_codec
mc-conf
指定向 Kafka 发送记录时使用的压缩编解码器。
支持以下取值:
nonesnappygziplz4zstd
Compression Level
新增: MinIO
Server RELEASE.2023-12-09T18-17-51Z
可选
MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_LEVEL
envvar
notify_kafka compression_level
mc-conf
根据已配置的压缩编解码器控制应用的压缩级别。
指定大于或等于 0 的整数值。 该值的效果取决于所选编解码器。
本页部分内容改编自 MinIO 对象存储文档,© 2020–至今 MinIO, Inc.,依据 CC BY 4.0 授权,由 Silo 项目转换与维护。归属与署名
本页为非官方中文翻译。如与英文原文有出入,以英文原文为准。