2015-09-08 28 views
0

我使用Spark應用程序中的Kafka向某個主題發送一些通知。我在Spark日誌中看到以下異常,並且郵件未傳遞到主題。Kafka - 發送NullPointerException

15/09/08 3時29分24秒錯誤發信人:卡夫卡生產I/O線程未捕獲的錯誤:

java.lang.NullPointerException 
    at org.apache.kafka.common.network.NetworkReceive.complete(NetworkReceive.java:48) 
    at org.apache.kafka.common.network.Selector.poll(Selector.java:249) 
    at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:192) 
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:191) 
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:122) 
    at java.lang.Thread.run(Thread.java:745) 

我不知道是什麼原因導致這個錯誤,並查看源,它似乎NetworkReceive.java中的大小或緩衝區變量都爲空。

通過掃描日誌,我發現在此日誌條目之前,會出現以下消息之一。

15/09/08 03:29:24 ERROR Sender: Uncaught error in kafka producer I/O thread: 
java.lang.IllegalStateException: Invalid request (size = -2097152000) 
    at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:68) 
    at org.apache.kafka.common.network.Selector.poll(Selector.java:248) 
    at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:192) 
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:191) 
    at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:122) 
    at java.lang.Thread.run(Thread.java:745) 
15 

回答

1

搞錯我轉我的星火應用程序的參數順序,和卡夫卡試圖連接到9042,而不是9092端口,它應該連接到。我有Cassandra在9042上運行,並建立了與它的連接,但之後失敗,因爲該消息不是卡夫卡預期的。

因此,如果任何人面臨同樣的問題,仔細檢查你的卡夫卡經紀人的IP和端口:)

+0

到底發生了什麼事! –

0

這是關係到你的主機名和端口。請驗證您的端口,您的進程是否在同一端口上運行。

相關問題