Apache-Kafka-Connect , Confluent-HDFS-Connector , Unknown-magic-byte

Posted

技术标签:

【中文标题】Apache-Kafka-Connect , Confluent-HDFS-Connector , Unknown-magic-byte【英文标题】: 【发布时间】:2017-11-04 17:03:23 【问题描述】:

我使用 Confluent HDFS 连接器将数据从 Kafka 主题移动到 HDFS 日志文件。但是当我运行这些命令时:

./bin/connect-standalone etc/schema-registry/connect-avro-standalone.properties \ etc/kafka-connect-hdfs/quickstart-hdfs.properties

我正在采取跟随错误。我怎么解决这个问题。这是什么原因?

引起:org.apache.kafka.common.errors.SerializationException: 为 id -1 反序列化 Avro 消息时出错原因: org.apache.kafka.common.errors.SerializationException:未知的魔法 字节! [2017-06-03 13:44:41,895] 错误任务正在被杀死并将 直到手动重新启动才能恢复 (org.apache.kafka.connect.runtime.WorkerTask:142)

【问题讨论】:

【参考方案1】:

如果您尝试读取连接器的数据并将key.convertervalue.converter 设置为AvroConverter,但您的输入主题的数据未由使用相同AvroSerializer 序列化架构注册表。

您必须将转换器与输入数据相匹配。换句话说,使用可以反序列化输入数据的序列化器。

【讨论】:

我该怎么做? 将 org.apache.kafka.connect.storage.StringConverter 作为 key.converter 和 value.converter 在 etc/schema-registry/connect-avro-standalone.properties 中,而不是其中的当前值文件。 谢谢,但这还不够 dawsaw 。 Confluent 移动 .avro 文件,但该 .avro 文件仅包含 avro 架构。不是数据。但是 kafka 主题有很多数据。 hadoop jar /home/hadoop/avro-tools-1.7.7.jar getmeta /topics/kafka_log_test/partition=0/kafka_log_test+0+0000000018+0000000020.avro >这个命令的结果:avro.schema "type": "record","name":"myrecord","fields":["name":"f1","type":"string"],"connect.version":1,"connect.name": "myrecord" 如何发送带有数据的 .avro 文件。 如果您只是希望将主题中的数据完全移至 hdfs,然后考虑使用 bytearrayconverter cwiki.apache.org/confluence/display/KAFKA/… 它已合并到处于发布候选阶段的 0.11。否则,您必须使用 AvroConverter,这意味着需要使用模式注册表将数据生成到 Kafka。看起来这不是您目前正在做的事情,所以我会说只需使用该 bytearrayconverter 并处理 hdfs 端的任何不良记录。

以上是关于Apache-Kafka-Connect , Confluent-HDFS-Connector , Unknown-magic-byte的主要内容,如果未能解决你的问题,请参考以下文章

301重写域名.co.uk至网址:www.domain.co.uk就像搜索引擎友好的开发人员你!

co函数库源码解析

co co a P o a d s的使用

C# 处理来自 ipdata.co 的 JSON

下载类似 mega.co.nz 的文件

CO 353 - Homework assignment 4