在 Kafka 0.11 及更高版本中对 message.max.bytes 设置的更改

在 Kafka 0.10 及更早版本中,message.max.bytes 设置用来配置单个消息允许的最大大小。从 0.11 版开始,Kafka 开始按批次对消息进行分组。该版本将此设置的含义更改为一个消息批次允许的最大大小。

这一更改会对 Vertica 数据库加载 Kafka 0.11 及更高版本中消息的速度产生明显的影响。如果使用 Vertica 9.1.0 或更早版本创建流作业调度程序,您可能会发现其加载规范的 message.max.bytes 值设置得太低。升级调度程序不会自动调整此设置。

将 Vertica 与 Kafka 0.11 及更高版本结合使用时,为了防止吞吐量变慢,请手动调整调度程序加载规范中的 message.max.bytes 设置。Vertica 的测试表明,该设置的最佳值是 25165824 (24 × 1024 × 1024) 字节。

以下示例演示了如何更新现有调度程序的加载规范 weblog_load 中的 message.max.bytes 设置,该调度程序使用名为 weblog.conf 的配置文件进行定义:

$ /opt/vertica/packages/kafka/bin/vkconfig load-spec --update \
     --load-spec weblog_load --conf weblog.conf --message-max-bytes 25165824