2017-06-03 9 views
1

私は、KafkaトピックからHDFSログファイルにデータを移動するためにConfluent HDFS Connectorを使用しています。しかし、私はこれらのコマンドを実行すると:Apache-Kafka-ConnectのコンフルエントHDFSコネクタ、不明なマジックバイト、Kafka-To-Hdfs

./bin/connect-standalone など/スキーマレジストリ/ connect-avro-standalone.properties \ など/カフカコネクト・-HDFS/quickstart-hdfs.properties

私はフォローアップ中です。どうすればこの問題を解決できますか?その理由は何ですか? org.apache.kafka.common.errors.SerializationException::idのアブロメッセージをデシリアライズ エラー-1によって引き起こさ: org.apache.kafka.common.errors.SerializationException:不明な魔法 バイトによって引き起こさ

! 【2017年6月3日13:44:41895] ERRORタスクが殺されていると 手動で再起動するまでに回復しないであろう(org.apache.kafka.connect.runtime.WorkerTask:142)

答えて

1

これはどうなりますコネクタを読み取ってkey.converterとvalue.converterをAvroCoverterに設定しましたが、入力トピックにはスキーマレジストリを使用する同じAvroSerializerによってシリアル化されていないデータがあります。コンバータを入力データにマッチさせる必要があります。つまり、入力データを逆シリアル化できるシリアライザを使用することです。

+0

どうすればいいですか? –

+0

org.apache.kafka.connect.storage.StringConverterを、そのファイルの現在の値の代わりに、etc/schema-registry/connect-avrostandalone.propertiesにkey.converterおよびvalue.converterとして配置します。 – dawsaw

+0

ありがとうございますが、それは十分なdawsawではありません。 コンフルエントな.avroファイルを移動しますが、.avroファイルにはavroスキーマだけが含まれています。データではありません。しかし、カフカのトピックにはたくさんのデータがあります。 Hadoopのジャー/home/hadoop/avro-tools-1.7.7.jar getmeta /topics/kafka_log_test/partition=0/kafka_log_test+0+0000000018+0000000020.avro >このコマンドの結果: アブロ。スキーマ{"タイプ": "レコード"、 "名前": "myrecord"、 "フィールド":[{"名前": "f1"、 "タイプ": "文字列"}]、 "connect.version" "connect.name": "myrecord"} データを持つ.avroファイルを送信するにはどうすればよいですか。 –

関連する問題