spark-submit 找不到类 - htrace
Posted
技术标签:
【中文标题】spark-submit 找不到类 - htrace【英文标题】:spark-submit no class found - htrace 【发布时间】:2015-06-25 16:16:09 【问题描述】:我正在尝试使用 spark-submit 而不是 run-example 从命令行运行 Spark 示例代码 HBaseTest,在这种情况下,我可以了解更多如何运行 spark 代码的一般信息。
但是,它告诉我关于 htrace 的 CLASS_NOT_FOUND,因为我使用的是 CDH5.4。我成功找到了 htrace jar 文件,但我很难将它添加到路径中。
这是我拥有的最后一个 spark-submit 命令,但仍然有 class not found 错误。谁能帮我这个?
#!/bin/bash
export SPARK_HOME=/opt/cloudera/parcels/CDH/lib/spark
/bin/bash $SPARK_HOME/bin/spark-submit \
--master yarn-client \
--class org.apache.spark.examples.HBaseTest \
--driver-class-path /etc/hbase/conf:$SPARK_HOME/examples/lib/*.jar:/opt/cloudera/parcels/CDH-5.4.2-1.cdh5.4.2.p0.2/lib/hbase/lib/*.jar \
--jars $SPARK_HOME/examples/lib/*.jar:/opt/cloudera/parcels/CDH-5.4.2-1.cdh5.4.2.p0.2/lib/hbase/lib/*.jar \
$SPARK_HOME/examples/lib/*.jar \
myhbasetablename
注意: htrace-core-3.0.4.jar、htrace-core-3.1.0-incubating.jar、htrace-core.jar都位于'/opt/cloudera/parcels/CDH-5.4.2-1.cdh5.4.2下.p0.2/lib/hbase/lib/'。
【问题讨论】:
【参考方案1】:我打开了$SPARK_HOME/conf/classpath.txt
,只是在文件末尾添加了/opt/cloudera/parcels/CDH/lib/hbase/lib/htrace-core-3.1.0-incubating.jar
。
https://community.cloudera.com/t5/Advanced-Analytics-Apache-Spark/ClassNotFoundException-org-apache-htrace-Trace-exception-in/m-p/29253/highlight/true#M915
【讨论】:
【参考方案2】:这是因为 Spark 无法找到 HBase jar 或类。对于 Spark-HBase 集成,最好的方法是将 HBase 库添加到 Spark Classpath。
这可以使用$SPARK_HOME/bin
文件夹中的compute-classpath.sh
脚本来完成。
export CLASSPATH=$CLASSPATH:/path/to/HBase/lib/*
eg: export CLASSPATH=$CLASSPATH:/opt/cloudera/parcels/CDH/lib/hbase/lib/*
之后,重启 Spark。
你去吧:)
【讨论】:
以上是关于spark-submit 找不到类 - htrace的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spark-Submit 在 kubernetes 上安装 PySpark 软件包:找不到常春藤缓存文件错误
sbt打包Scala写的Spark程序,打包正常,提交运行时提示找不到对应的类