SparkStreaming运行出现 java.lang.NoClassDefFoundError: org/apache/htrace/Trace 错误

一、简介java

  最近在摸索利用sparkstreaming从kafka中准实时的读取数据,并将在读取的过程当中,能够作一个简单的分析,最后将分析结果写入hbase中。apache

二、出现的问题服务器

(1)将从kafka中读取数据的程序打包到服务器上运行,发现须要用kafka相关的包,所以采用assembly的方法打包便可。spa

(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包。 ci

分析缘由:这个对应jar是一个htrace-core-3.1.0-incubating.jar 的jar包。本觉得只须要在pom文件中添加对应的依赖项便可。可是我尝试的结果仍是报一样的错误。kafka

解决的方法:it

  既然仍是报一样的错误,因而就执行在执行命令的时候,经过命令行参数的形式指定对应的jar包的路径便可。最后运行的命令以下所示:spark

 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.jario

一样也能够在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

相关文章
相关标签/搜索