Hive 在未找到cdh5.3类的纱线上运行spark sql

Hive 在未找到cdh5.3类的纱线上运行spark sql,hive,apache-spark,yarn,cloudera-cdh,apache-spark-sql,Hive,Apache Spark,Yarn,Cloudera Cdh,Apache Spark Sql,我可以在独立模式下使用spark完美地运行spark sql,但当涉及到纱线模式时,spark告诉我它找不到配置单元类(一些基本类,如org/apache/hadoop/hive/ql/plan/TableDesc) 因此,我将配置单元库添加到compute-classpath.sh。失败。 然后我想如果纱线不起作用,独立的也可以。 也许我应该更改纱线类路径以包含配置单元库 然后我又失败了 我只是不明白配置单元库出现在我的启动日志和spark输出中,为什么我的配置单元sql告诉我基本配置单元类没

我可以在独立模式下使用spark完美地运行spark sql,但当涉及到纱线模式时,spark告诉我它找不到配置单元类(一些基本类,如org/apache/hadoop/hive/ql/plan/TableDesc)

因此,我将配置单元库添加到compute-classpath.sh。失败。 然后我想如果纱线不起作用,独立的也可以。 也许我应该更改纱线类路径以包含配置单元库

然后我又失败了

我只是不明白配置单元库出现在我的启动日志和spark输出中,为什么我的配置单元sql告诉我基本配置单元类没有找到


感谢大家帮助我

您很可能遇到了类路径问题。请参阅本故障排除指南的“类路径问题”部分]()。小心设置
--jars
spark submit调用的
--jars
选项,并在创建
SparkConfig

时传递其他jars。尝试此操作,添加spark.executor.extraClassPath=/opt/cloudera/parcels/CDH/lib/hive/lib/*

您的executors上有hive:吗?(您是否将
--jars
spark submit
?)一起用于您的
SparkContext
?(如何构建您的
SparkConfig
?)配置单元位于我的所有计算机上。我将hive lib dir添加到compute-classpath.sh,所以我认为spark submit将使用这些JAR。我对SparkConfig构建感到困惑,我只是将原始spark conf dir复制到cdh5.3的spark dir.BTW,cdh5.3 spark在我第一次解包时无法工作,我必须在bin dir下更改shell scrpits中的一些代码。感谢你的建议,我将尝试spark提交选项。我只是从源代码构建spark,它成功了。为什么cdh5.3 tgz失败?thxI与OP的问题完全相同,这似乎成功了。将
--conf spark.executor.extraClassPath=/opt/cloudera/parcels/CDH/lib/hive/lib/*
添加到
spark submit
调用完成了!