2017-10-18 80 views
0

案例卡夫卡的NoSuchMethodError上HDP平臺

試圖建立一些代碼,需要卡夫卡庫,會被部署到HDP平臺。構建成功,但在運行時抱怨無法找到類。在HDP平臺上查找Kafka版本會發現類似0.10.0.2.5.3.16-1的內容,對mvn的快速檢查顯示此版本不存在此類Kafka庫。最近的版本是我正在使用的0.10.0.2.5.3.42-1

症狀

運行時錯誤這不能不說類或方法無法找到,例如kafka.javaapi.consumer.SimpleConsumer.<init>(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;)V

+1

請向我們展示您嘗試的**實際代碼**。 –

+1

您需要使用相同的版本進行編譯和運行。否則奇怪的事情發生,像方法消失等。 – Kayaman

+0

@Kayaman你能看到特別的任何東西,這意味着運行時不同於正在構建? –

回答

0

原因

在HDP平臺提供的服務爲後綴的HDP版本,所以卡夫卡0.10.0.2.5.3.16-1實際上是卡夫卡版本0.10.0,挖掘進一步顯示它的版本0.10.0.1。 HDP版本是2.5.3

解決方案

回落${kafka.version}在POM到工作的版本,我發現0.8.2.1爲我工作。