【发布时间】:2020-08-13 05:08:24
【问题描述】:
我使用的是 Apache Spark 2.1.1,我已将以下 hive-site.xml 放在 $SPARK_HOME/conf 文件夹中:
<?xml version="1.0"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://mysql_server:3306/hive_metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>password</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>${test.tmp.dir}/hadoop-tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://hadoop_namenode:9000/value_iq/hive_warehouse/</value>
<description>Warehouse Location</description>
</property>
</configuration>
当我启动 thrift 服务器时,metastore 架构在我的 MySQL 数据库上创建但未使用,而是使用 Derby。
在 thrift 服务器日志文件中找不到任何错误,唯一引起我注意的是它首先尝试使用 MySQL (INFO MetaStoreDirectSql: Using direct SQL, underlying DB is MYSQL),但随后没有任何错误地使用 Derby (INFO MetaStoreDirectSql: Using direct SQL, underlying DB is DERBY)。这是 thrift 服务器日志https://www.dropbox.com/s/rxfwgjm9bdccaju/spark-root-org.apache.spark.sql.hive.thriftserver.HiveThriftServer2-1-s-master.value-iq.com.out?dl=0
我的系统上没有安装 Hive,我只是假装使用 Apache Spark 的内置 Hive。
我正在使用位于$SPARK_HOME/jars 文件夹中的mysql-connector-java-5.1.23-bin.jar。
【问题讨论】:
-
在 hive 和 spark conf 中的 hive-site.xml 中将 hive.metastore.schema.verification 的值设置为 false 并重新启动服务并重试
-
我已经设置了它并且行为相同。当您说在 hive 和 spark 中时,您的意思是在
$SPARK_HOME/conf/hive-site.xml和$SPARK_HOME/conf/spark-defaults.conf?请记住,我没有安装 Hive,我使用的是 Hive 中内置的 Spark。
标签: mysql apache-spark hive metastore spark-thriftserver