美文网首页我爱编程
spark与hbase交互错误:org.apache.htrac

spark与hbase交互错误:org.apache.htrac

作者: divenswu | 来源:发表于2016-08-01 16:17 被阅读1506次

    在CDH中,开发的spark连接Hbase的时候,往往会出现找不到org.apache.htrace包。

    具体错误如下:

          ERROR TableInputFormat: java.io.IOException: 

          java.lang.reflect.InvocationTargetException

         Caused by: java.lang.NoClassDefFoundError: org/apache/htrace/Trace

         Caused by: java.lang.ClassNotFoundException: org.apache.htrace.Trace

    问题原因:

    CDH的Spark的classpath中引入的是/opt/cloudera/parcels/CDH/jars/htrace-core-3.0.4.jar,而这个版本的时候,htrace还是org.htrace,而3.1.0的时候已经贡献给Apache了,改叫org.apache.htrace了。

    解决方法:

    方法一:手动修改作业提交机器的/etc/alternatives/spark-conf/classpath.txt,在最后添上/opt/cloudera/parcels/CDH-5.4.8-1.cdh5.4.8.p0.4/jars/htrace-core-3.1.0-incubating.jar即可。(个人推荐使用)

    方法二:通过提交命令的方式提交参数--conf spark.executor.extraClassPath;

    #!/bin/bash

    HBASE_HOME=/opt/cloudera/parcels/CDH/lib/hbase

    SPARK_CLASSPATH="$HBASE_HOME/conf/:$HBASE_HOME/hbase-client.jar:$HBASE_HOME/hbase-protocol.jar:$HBASE_HOME/lib/htrace-core.jar:$HBASE_HOME/lib/htrace-core-3.1.0-incubating.jar"

    spark-submit --conf spark.executor.extraClassPath=$SPARK_CLASSPATH --class com.test.Main  test-jar-with-dependencies.jar

    相关文章

      网友评论

        本文标题:spark与hbase交互错误:org.apache.htrac

        本文链接:https://www.haomeiwen.com/subject/kdoxsttx.html