2016-09-06 46 views
0

我有一個卡夫卡0.10正在運行的實例,我目前正在使用Gobblin將數據存儲到HDFS中。我想切換到Kafka Connect,並且在我研究時發現Confluent提供了一個連接器。卡夫卡HDFS連接器 - 沒有完全合流

但是,有沒有辦法在不使用整個Confluent平臺的情況下使用此連接器?意思是否可以例如從Confluent源複製相關腳本,並以某種方式讓我的Kafka實例使用它? 我基本上還在學習通過這個東西的方式,所以我還不是很精通這個空間。

謝謝。

+1

匯合平臺兼容操作系統卡夫卡,所以是的,它應該工作。但爲什麼不使用CP - 這會讓你的生活更輕鬆:) –

回答

0

是的,這是可能的。我已經做到了。我使用在Docker容器中運行的稍微修改的Confluent HDFS獨立連接器。 但是,您也必須使用SchemaRegistry。因爲連接器與SchemaRegistry緊密耦合。 此外,你將不得不發送特殊格式的消息。支持自動模式識別Confluent Kafka消費者引入內部格式的消息。因此,爲了與合流的消費者兼容,您的製作人員必須按照以下格式撰寫郵件。

  • 部首(5個字節)
    • 的消息的第一字節的「魔術字節」應始終爲0
    • 接下來的4個字節應模式的標識在架構註冊表編碼採用Big Endian格式。
  • 有效載荷(Avro \ Parquet對象,二進制編碼)。

PS要非常小心將消息發送到主題監守如果消息不匹配的模式,或ID的模式中不存在註冊表,消費者就會失敗:工作線程停止,但應用仍掛在內存中,不出口。