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