无法使用Confluent Platform将Avro数据推送到HDFS

时间:2017-01-20 13:24:05

标签: apache-kafka hdfs avro apache-kafka-connect confluent

我有一个系统将Avro数据推送到多个Kafka主题 我想将该数据推送到HDFS。我遇到了汇合但不确定如何在不启动kafka-avro-console-producer的情况下将数据发送到HDFS。

我执行的步骤:

  1. 我有自己的Kafka和ZooKeeper正在运行,所以我刚开始汇合的模式注册表。

  2. 我在更改主题名称后启动了kafka-connect-hdfs。 这一步也很成功。它可以连接到HDFS。

  3. 在此之后我开始将数据推送到Kafka,但消息没有被推送到HDFS。

    请帮忙。我是Confluent的新手。

1 个答案:

答案 0 :(得分:0)

您可以避免使用kafka-avro-console-producer并使用您自己的生产者向主题发送消息,但我们强烈建议您使用Confluent Schema Registry(https://github.com/confluentinc/schema-registry)来管理您的模式和使用与Schema Registry捆绑在一起的Avro序列化程序,以保持Avro数据的一致性。关于为什么做here这个好主意的理由很好。

如果您能够将使用kafka-avro-console-producer生成的消息发送到HDFS,那么kafka-connect-hdfs连接器中的问题很可能无法反序列化数据。我假设您正在浏览quickstart guide。如果您打算将Avro写入HDFS,最好的结果将来自您在两侧(进出Kafka)使用相同的序列化器。这个过程的工作原理如in this documentation所述。