我正在使用Kafka 0.8.2.2并尝试设置压缩。我提供了压缩编解码器(gzip)作为控制台生成器的参数,如下所示。
./ kafka-console-producer.sh --broker-list localhost:171 --compression-codec gzip --topic testTopic
问题 这是我需要指定压缩的唯一地方吗? 如何验证压缩是否确实发生? 如何量化我从压缩中获得的好处? 我应该查找哪些文件(.index,.log)并比较使用和不使用压缩的大小来估算收益?
答案 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,我认为)