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

时间:2016-04-13 06:39:42

标签: apache-kafka

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

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

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

1 个答案:

答案 0 :(得分:11)

如何验证压缩是否正在发生:

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

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

[你可能想要做的事情' head'或者“少”'因为你可能得到大量的数据]

您将看到以下内容:

Starting offset: 0
offset: 0 position: 0 isvalid: true payloadsize: 8 magic: 0 compresscodec: NoCompressionCodec crc: 1953334871 payload: one line
offset: 1 position: 34 isvalid: true payloadsize: 9 magic: 0 compresscodec: NoCompressionCodec crc: 3903235078 payload: two lines

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