当前位置:   article > 正文

启动hive报错_生产Spark+Hive会遇见的拦路虎

unable to instantiate sparksession with hive support because hive classes ar

1.抛错: Unable to instantiate SparkSession with Hive support because Hive classes are not found.

需要先将hadoop的core-site.xml,hive的hive-site.xml拷贝到project中

1.1 测试代码

cb221f00a7cb9102d32e917eb6ac2c28.png

1.2 报错

5d66367dddcd67cf826580e68a019fbc.png

1.3 查看源码

4af52338c6530075a578fbfc9035d798.png

1.4 发现找不到HiveSessionStateBuilder

3670031f442aa3bed9b5cc90bb4eec66.png

1.5 解决方法

将$HIVEHOME/lib下的spark-hive2.11-2.4.2.jar与spark-hive-thriftserver_2.11-2.4.2.jar添加到project中。

2.继续报错: java.lang.NoSuchFieldError: METASTORECLIENTSOCKET_LIFETIM

2.1 错误

a2171da6c389643c23a8f407876086d1.png

2.2 查看源码

4fb56e2a6a15181079ef3179963c2a69.png

发现ConfVars中定义的变量并没有METASTORECLIENTSOCKET_LIFETIME,而HiveConf.java来自于hive-exec-1.1.0-cdh5.7.0.jar,即证明hive1.1.0中并没有假如该参数。

2.3 解决方法

8ba178bf07cdaaa8a225887eb38bffe9.png

3.继续报错: Could not connect to meta store

3.1 抛错

ae4f26066af501f8d37ab9c90e5ec6d8.png

3.2 解决方法

这是因为远端没有启动hive造成的,启动hive时需要配置metastore。

$HIVE_HOME/bin/hive --service metastore &

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号