Spark 连接hive,启动spark-shell报错:Error creating transactional connection factory

Posted youngxuebo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark 连接hive,启动spark-shell报错:Error creating transactional connection factory相关的知识,希望对你有一定的参考价值。

在使用Spark连接HIve,启动spark-shell的时候,报错: Error creating transactional connection factory
在这里插入图片描述

输入命令为:./spark-shell --master spark://nodes03:7077

此时已经将$HIVE_HOME/conf/hive-site.xml,$HADOOP_HOME/etc/hadoop/core-site.xml hdfs-site.xml拷贝到$SPARK_HOME/conf下,但是依然报错。

解决办法如下:
因为hive使用的是mysql作为 metastore 元数据数据库,未加载MySQL驱动jar包进行连接,键入spark-shell --hellp获得解决办法为:–driver-class-path命令或者–jars命令,则最终命令为:

./spark-shell --master spark://bigdata03:7077 --jars /opt/tools/mysql-connector-java-5.1.27.jar --driver-class-path /opt/tools/mysql-connector-java-5.1.27.jar

如果每次启动都要使用加载命令嫌麻烦的话,可在配置文件中配置即可:
在$SPARK_HOME/conf 目录下编辑spark-env.sh 添加驱动配置
例如:

export SPARK_CLASSPATH=$SPARK_CLASSPATH:/opt/tools/mysql-connector-java-5.1.27.jar

以上是关于Spark 连接hive,启动spark-shell报错:Error creating transactional connection factory的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 java 连接到 spark-shell 并执行 hive 查询

spark-shell启动spark报错

如何在 spark-shell (spark 2.1.1) 中启用对 spark 的 Hive 支持

Spark记录-Spark-Shell客户端操作读取Hive数据

Spark-Shell的启动与运行

Spark-Shell的启动与运行