【无标题】

解决sparkSQL连接hive时出现的问题:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient;

本地IDEA写sparkSQL连接hive,集群没有spark

相信你已经看过其他同样解决相同问题的博客,如果没有解决,可以试试本文解决的方法

问题翻译过来就是: 无法实例化 org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient;

组件配置说明:

组件版本号
hadoop3.1.3
hive3.1.2
spark3.0.0
win10

(如果与你相同,很幸运可以减少你探索是否是版本的问题)

还有个说明:我的集群是没有装spark的,我是在win的IDEA里的maven使用了spark 3.0.0,有一个本地模式

val sparkConf = new SparkConf().setMaster("local[*]").setAppName("sparkSQL")

我的pom.xml,文件:

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.27</version>
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.12</artifactId>
            # spark-hive_  的后面是Scala版本,有些博客说会是Scala版本不一致问题,可以留意一下其他博客
            # 注意:复制进去的时候,要把这段话删掉
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-exec</artifactId>
            <version>3.1.2</version>
        </dependency>

无法实例化,有可能是原数据的问题,我看了其他的博客,需要开启原数据服务

在hive下面的bin目录,输入:
hive --service metastore

我试了还是不行,后面我去看了hive-site.xml文件配置,还需要开启一个参数

	<!-- 指定存储元数据要连接的地址 -->
 	<property>
		<name>hive.metastore.uris</name>
		<value>thrift://hadoop202:9083</value>
	</property>
	# hadoop202是我那台虚拟机的名字,记得修改你的主机名
	# 不要把这段话复制进去

应该就可以了,还需要说明的是:开启原数据服务还是需要的,我试了没开,还是会有报错。

OK

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值