【问题标题】:Reading data from _transaction_state topic in Kafka 0.11.0.1从 Kafka 0.11.0.1 中的 _transaction_state 主题读取数据
【发布时间】:2018-05-20 02:37:21
【问题描述】:

我想读取事务的元数据(Kafka 0.11.0.1 支持),以便确定特定事务 ID 的事务是否已提交。目前我正在从 _transactional_state 主题中获取键和值,但它是某种编码格式。 以下是我在轮询 __transaction_state 主题时收到的一些相同的键/值: 键 = 10000000 毫米,值 = �������+'����������)

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 嘿@alex,感谢您的帮助。我得到了所需的代码,将尝试将其与我的模块集成。
    • 依赖org.apache.kafka:kafka_2.11神器,可以直接导入使用kafka.coordinator.transaction.TransactionLog.readTxnRecordValue
    【解决方案2】:

    就像在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

    【讨论】:

      猜你喜欢
      • 2021-09-12
      • 2021-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      • 2022-09-25
      • 2016-02-28
      相关资源
      最近更新 更多