遇到问题:hive中的数据库和sparksql 操作的数据库不是同一个。

遇到的问题:

1、hive中的数据库和sparksql 操作的数据库不同步。

观察上面的数据库看是否同步 !!!

2、查询服务器中MySQL中hive的数据库,发现创建的位置没有在hdfs上,而是在本地。

 

这个错误产生的原因是:

你使用sparksql创建了数据库,没有使用hive界面创建。理论讲不管哪个进行创建都应该没问题,sparksql创建数据库有问题,说明spark的集群配置有问题,需要检查。

检查两个方面:

1)spark的yarn集群是否遗漏什么配置

2)spark连接hive有问题

正确界面应该如下所示:

上述截图创建的位置是在hdfs上  同步的!!!观察你的是否这样?

解决办法:

如果你的不同步,可以试一下如下这个办法。

1、在hive 下修改hive-site.xml

<property>
		<name>hive.metastore.schema.verification</name>
		<value>false</value>
	</property>

2、将hive-site.xml 复制到 spark的conf 下

cp /opt/installs/hive/conf/hive-site.xml /opt/installs/spark/conf

3、修改spark下的hive-site.xml

<property>
		<name>hive.server2.thrift.port</name>
		<value>10001</value>
		<description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description>
	  </property>

4、接着分发一下(这里用到了分发脚本xsync.sh):

xsync.sh /opt/installs/spark/conf/hive-site.xml

5、重启thrift服务:

#停止
/opt/installs/spark/sbin/stop-thriftserver.sh

#启动
/opt/installs/spark/sbin/start-thriftserver.sh 
--hiveconf hive.server2.thrift.port=10001 
--hiveconf hive.server2.thrift.bind.host=bigdata01 
--master yarn 
--conf spark.sql.shuffle.partitions=2

使用datagrip 重新连接一下,记得刷新一下连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值