hive和spark sql 默认用的都是derby,上篇文章说了,
spark sql使用hive的配置来连接mysql,配置下来挺简单的,并且不需要启动hive
1,所有spark节点,创建mysql连接 java 包
# ln -s /usr/share/java/mysql-connector-java.jar /bigdata/spark/jars/
2,复制hive主机点的配置hive-site.xml,到所有spark节点,#SPARK_HOME/conf目录下,不用做任何改变。
javax.jdo.option.ConnectionURL
jdbc:mysql://10.0.0.237:3306/hive?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
hive
javax.jdo.option.ConnectionPassword
Netjoy_123
hive.exec.scratchdir
/user/hive/tmp
hive.metastore.warehouse.dir
/user/hive/warehouse
hive.querylog.location
/user/hive/log
hive.metastore.schema.verification
false
如果启动hive报
MetaException(message:Hive Schema version 2.3.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded or corrupt)
解决办法:
在所有hive节点,#HIVE_HOME/conf/hive-site.xml添加以下内容
hive.metastore.schema.verification
false
3,在hive创建 数据库 和表,然后通过spark-sql去查就知道是不是用了mysql了。