如果压缩则检查kafka数据

时间:2015-07-01 17:37:28

标签: apache-kafka

该文档称在producer.properties中添加行compression.codec=gzip以压缩消息。
但是,当我打开数据文件,例如:0000000000000.log时,我发现数据看起来不像是压缩的。应该如何检查kafka中的数据是否已被压缩? P.S:每次测试我都会停止Kafka集群和Zookeeper并删除kafka-logs和Zookeeper中的所有数据,然后再次启动服务器并创建一个新主题。

1 个答案:

答案 0 :(得分:1)

此配置的Java ProducerConfig类已更改。

public static final String COMPRESSION_TYPE_CONFIG = "compression.type"; 

我使用0.8.2.1使用java客户端(ProducerConfig.COMPRESSION_TYPE_CONFIG)成功生成了消息,并且工作正常。

示例:

props.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "gzip"); 

或者在compression.type=gzip文件中为Java客户端设置server.properties

更新cli工具

阅读命令行工具的用法:

chrisblack:kafka:% ./bin/kafka-console-producer.sh 
...
--compression-codec [compression-codec] The compression codec: either 'none',
                                          'gzip', 'snappy', or 'lz4'.If
                                          specified without value, then it
                                          defaults to 'gzip'
...
--new-producer                          Use the new producer implementation.
--producer-property <producer_prop>     A mechanism to pass user-defined
                                          properties in the form key=value to
                                          the producer.
--property <prop>                       A mechanism to pass user-defined
                                          properties in the form key=value to
                                          the message reader. This allows
                                          custom configuration for a user-
                                          defined message reader.
...

尝试从shell运行类似的命令:

./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_compression --compression-codec