在“spark-defaults.conf”中设置属性“spark.sql.hive.metastore.jars”后出现异常

Posted

技术标签:

【中文标题】在“spark-defaults.conf”中设置属性“spark.sql.hive.metastore.jars”后出现异常【英文标题】:Exception after Setting property 'spark.sql.hive.metastore.jars' in 'spark-defaults.conf' 【发布时间】:2015-10-06 18:46:30 【问题描述】:

以下是我在系统中安装的 Spark 和 Hive 版本

火花spark-1.4.0-bin-hadoop2.6

蜂巢apache-hive-1.0.0-bin

我已将 Hive 安装配置为使用 MySQL 作为 Metastore。目标是访问 MySQL Metastore 并在 spark-shell(使用 HiveContext)中执行 HiveQL 查询

到目前为止,我能够通过访问 Derby Metastore 来执行 HiveQL 查询(如 here 所述,相信 Spark-1.4Hive 0.13.1 捆绑在一起反过来使用内部 Derby 数据库作为 Metastore)

然后我尝试通过在$SPARK_HOME/conf/spark-defaults.conf 中设置下面给出的属性(如建议的here)将spark-shell 指向我的外部Metastore(在这种情况下为mysql),

spark.sql.hive.metastore.jars   /home/mountain/hv/lib:/home/mountain/hp/lib

我还将$HIVE_HOME/conf/hive-site.xml 复制到$SPARK_HOME/conf。但是当我启动 spark-shell

时出现以下异常
    mountain@mountain:~/del$ spark-shell 
    Spark context available as sc.
    java.lang.ClassNotFoundException: java.lang.NoClassDefFoundError: 
org/apache/hadoop/hive/ql/session/SessionState when creating Hive client 
using classpath: file:/home/mountain/hv/lib/, file:/home/mountain/hp/lib/
    Please make sure that jars for your version of hive and hadoop are 
included in the paths passed to spark.sql.hive.metastore.jars.

我是否遗漏了什么(或)没有正确设置属性spark.sql.hive.metastore.jars

【问题讨论】:

尝试将尾随/* 附加到路径中 - docs.databricks.com/data/metastores/… 【参考方案1】:

hive-site.xml 的损坏版本会导致这种情况...请复制正确的 hive-site.xml

【讨论】:

【参考方案2】:

注意:已在 Linux Mint 中验证。

如果您在 spark-defaults.conf 中设置属性,则仅当您使用 spark-submit 提交作业时,spark 才会采用这些设置。

文件:spark-defaults.conf

spark.driver.extraJavaOptions      -Dlog4j.configuration=file:log4j.properties -Dspark.yarn.app.container.log.dir=app-logs -Dlogfile.name=hello-spark
spark.jars.packages                 org.apache.spark:spark-sql-kafka-0-10_2.12:3.0.1,org.apache.spark:spark-avro_2.12:3.0.1

在终端运行你的工作说 wordcount.py

spark-submit /path-to-file/wordcount.py

如果你想从 IDE 以开发模式运行你的工作,那么你应该使用 config() 方法。这里我们将设置Kafka jar包

spark = SparkSession.builder \
    .appName('Hello Spark') \
    .master('local[3]') \
    .config("spark.streaming.stopGracefullyOnShutdown", "true") \
    .config("spark.jars.packages", "org.apache.spark:spark-sql-kafka-0-10_2.12:3.0.1") \
    .getOrCreate()

【讨论】:

欲了解更多详情,请查看此链接***.com/questions/57862801/…

以上是关于在“spark-defaults.conf”中设置属性“spark.sql.hive.metastore.jars”后出现异常的主要内容,如果未能解决你的问题,请参考以下文章

spark on yarn配置

spark on yarn配置

spark on yarn配置

spark 相关配置 shuffle 相关配置选项

spark-shell启动报错如下。请问该如何解决。多谢帮助!

Spark History Server 配置部署