Debezium 将 Avro 数据视为二进制
Debezium treats Avro data as binary
我创建了一个简单的 Debezium/MySQL 连接器:
{ "name": "debezium_source_books",
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"tasks.max": "1",
"database.hostname": "...",
"database.port": "3306",
"database.user": "root",
"database.password": "root",
"database.server.id": "...",
"database.server.name": "...",
"database.history.kafka.bootstrap.servers": "localhost:9092",
"database.history.kafka.topic": "strapi",
"table.whitelist": "strapi.books",
"include.schema.changes": "true",
"key.converter": "io.confluent.connect.avro.AvroConverter",
"key.converter.schema.registry.url": "http://localhost:8081",
"value.converter": "io.confluent.connect.avro.AvroConverter",
"value.converter.schema.registry.url": "http://localhost:8081" }
从数据库中获取数据,但值以二进制形式呈现,键为空。
在运行kafka-console-consumer --bootstrap-server localhost:9092 --topic readology.strapi.books --property print.key=true --from-beginning
之后,我得到类似这样的记录:
Schema Registry 响应 http 请求并且连接器确实创建了 -key 和 -value 模式。
在二进制数据中,我可以识别典型的 "before" 和 "after" 内容。
我使用 Kafka 的消费者和 Landoop 的 UI 得到了类似的结果,所以我认为这与消费者无关。
Debezium 创建了一个用于存储 DDL 语句的主题,它可以正确显示。
你知道哪里出了问题吗?或者,我该如何调试它?
发生此问题是因为 debezium 在主题上以 Avro 格式存储消息。您可以使用 kafka-avro-console-consumer
轻松使用它
我创建了一个简单的 Debezium/MySQL 连接器:
{ "name": "debezium_source_books",
"connector.class": "io.debezium.connector.mysql.MySqlConnector",
"tasks.max": "1",
"database.hostname": "...",
"database.port": "3306",
"database.user": "root",
"database.password": "root",
"database.server.id": "...",
"database.server.name": "...",
"database.history.kafka.bootstrap.servers": "localhost:9092",
"database.history.kafka.topic": "strapi",
"table.whitelist": "strapi.books",
"include.schema.changes": "true",
"key.converter": "io.confluent.connect.avro.AvroConverter",
"key.converter.schema.registry.url": "http://localhost:8081",
"value.converter": "io.confluent.connect.avro.AvroConverter",
"value.converter.schema.registry.url": "http://localhost:8081" }
从数据库中获取数据,但值以二进制形式呈现,键为空。
在运行kafka-console-consumer --bootstrap-server localhost:9092 --topic readology.strapi.books --property print.key=true --from-beginning
之后,我得到类似这样的记录:
Schema Registry 响应 http 请求并且连接器确实创建了 -key 和 -value 模式。 在二进制数据中,我可以识别典型的 "before" 和 "after" 内容。
我使用 Kafka 的消费者和 Landoop 的 UI 得到了类似的结果,所以我认为这与消费者无关。
Debezium 创建了一个用于存储 DDL 语句的主题,它可以正确显示。
你知道哪里出了问题吗?或者,我该如何调试它?
发生此问题是因为 debezium 在主题上以 Avro 格式存储消息。您可以使用 kafka-avro-console-consumer
轻松使用它