Error reading field 'throttle_time_ms': java.nio.BufferUnderflowException

flume往Kafka裏寫數據報錯:

04 Jul 2018 20:43:44,401 ERROR [kafka-producer-network-thread | producer-1] (org.apache.kafka.clients.producer.internals.Sender.run:130)  - Uncaught error in kafka producer I/O thread: 
org.apache.kafka.common.protocol.types.SchemaException: Error reading field 'throttle_time_ms': java.nio.BufferUnderflowException
	at org.apache.kafka.common.protocol.types.Schema.read(Schema.java:71)
	at org.apache.kafka.clients.NetworkClient.handleCompletedReceives(NetworkClient.java:439)
	at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:265)
	at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:216)
	at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:128)
	at java.lang.Thread.run(Thread.java:748)

是由於flume版本爲1.7,kafka版本較老爲0.8,不兼容所致,將kafka版本升級爲0.11或flume版本使用1.6解決!

注:flume1.6及以前的版本沒有TAILDIR(org.apache.flume.source.taildir.TaildirSource)這個source type,這個類型支持目錄變化的文件,斷點續傳,1.6版本想要使用這個功能需要將1.7版中Taildir Source 組件源碼編譯打包後,放入 Flume1.6 安裝目錄的 lib 文件目錄下。

 

在 Flume配置文件中指定全類名即可使用 TaildirSource 組件。

a1.sources.r1.type = com.xxx.flume.source.TaildirSource

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章