从Kafka 0.11.0.1中的_transaction_state主题中读取数据

时间:2017-12-06 09:07:53

标签: apache-kafka kafka-consumer-api messagebroker string-decoding

我想读取事务的元数据(Kafka 0.11.0.1支持),以便我可以弄清楚是否已提交特定事务ID的事务。目前我从_transactional_state主题获取密钥和值,但它采用某种编码格式。 下面是我在查询__transaction_state主题时收到的一些相同的键/值: key = 10000000mmm,value = ���� +' )

2 个答案:

答案 0 :(得分:4)

您可以查看TransactionLogMessageParser文件中kafka/tools/DumpLogSegments.scala类的源代码作为示例。它使用readTxnRecordValue类中的TransactionLog函数。可以通过同一类的readTxnRecordKey函数检索此函数的第一个参数。

答案 1 :(得分:0)

就像在Kafka how to read from __consumer_offsets topic

中所做的一样

echo "exclude.internal.topics=false" > consumer.config

kafka-console-consumer --consumer.config consumer.config --formatter "kafka.coordinator.transaction.TransactionLog\$TransactionLogMessageFormatter" --bootstrap-server localhost:9092 --topic __transaction_state --from-beginning