SparkStreaming运行出现 java.lang.NoClassDefFoundError: org/apache/htrace/Trace 错误
1、簡介
最近在摸索利用sparkstreaming從kafka中準實時的讀取數據,并將在讀取的過程中,可以做一個簡單的分析,最后將分析結果寫入hbase中。
2、出現的問題
(1)將從kafka中讀取數據的程序打包到服務器上運行,發現需要用kafka相關的包,因此采用assembly的方法打包即可。
(2)運行 spark-submit? --class "com.yiban.datacenter.MyDataCollection.KafkaToHbase" --master local MyDataCollection-0.0.1-SNAPSHOT-jar-with-dependencies.jar出現如下錯誤:
?java.lang.NoClassDefFoundError: org/apache/htrace/Trace?? 這個錯誤很明顯是由于無法加載對應的類,也就是沒有添加相應的jar包。
分析原因:這個對應jar是一個htrace-core-3.1.0-incubating.jar 的jar包。本以為只需要在pom文件中添加對應的依賴項即可。但是我嘗試的結果還是報同樣的錯誤。
解決的方法:
既然還是報同樣的錯誤,于是就執行在執行命令的時候,通過命令行參數的形式指定對應的jar包的路徑即可。最后運行的命令如下所示:
?spark-submit?? --class "com.yiban.datacenter.MyDataCollection.KafkaToHbase? --master local ? --driver-class-path? /opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/jars/htrace-core-3.1.0-incubating.jar? --conf? spark.executor.extraClassPath=/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/jars/htrace-core-3.1.0-incubating.jar??? MyDataCollection-0.0.1-SNAPSHOT-jar-with-dependencies.jar
同樣也可以在yarn-cluster模式下運行:
?spark-submit?? --class "com.yiban.datacenter.MyDataCollection.KafkaToHbase? --master ?yarn-cluster? --driver-class-path? /opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/jars/htrace-core-3.1.0-incubating.jar? --conf? spark.executor.extraClassPath=/opt/cloudera/parcels/CDH-5.4.4-1.cdh5.4.4.p0.4/jars/htrace-core-3.1.0-incubating.jar??? MyDataCollection-0.0.1-SNAPSHOT-jar-with-dependencies.jar
?
轉載于:https://www.cnblogs.com/ljy2013/p/5170802.html
總結
以上是生活随笔為你收集整理的SparkStreaming运行出现 java.lang.NoClassDefFoundError: org/apache/htrace/Trace 错误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL主从切换
- 下一篇: WinForm数据源分页技术