在使用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