如何在Kafka 0.8.2.2中验证压缩是否正常?

Gir*_*fle 4 apache-kafka

我正在使用Kafka 0.8.2.2并尝试设置压缩.我提供压缩编解码器(gzip)作为控制台生产者的参数,如下所示.

./kafka-console-producer.sh --broker-list localhost:171 --compression-codec gzip --topic testTopic

问题这是我需要指定压缩的唯一地方吗?如何验证压缩是否确实发生?如何量化我从压缩中获得的好处?我应该查找哪些文件(.index,.log)并比较有和没有压缩的大小来估计好处?

Mar*_*ina 13

如何验证压缩是否发生:

使用DumpLogSegments工具,并替换您的目录位置/日志文件名称:

bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files /your_kafka_logs_dir/your_topic-your_partition/00000000000000000000.log --print-data-log

[你可能想做'头'或'少'因为你可能得到大量的数据]

你会看到如下所示:

bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files /your_kafka_logs_dir/your_topic-your_partition/00000000000000000000.log --print-data-log | grep compresscodec
Run Code Online (Sandbox Code Playgroud)

compresscodec:NoCompressionCodec - 表示没有压缩.如果启用压缩 - 你会看到相应的值(1是gzip,2 - lzop,我认为)

  • 当使用“--print-data-log”运行时,输出也会打印记录。我已将该标志替换为“--verify-index-only”,以仅打印元数据。这是带有不同标志 `bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files /your_kafka_logs_dir/your_topic-your_partition/00000000000000000000.log --verify-index-only | 的示例 grep 压缩编解码器` (2认同)