启动hive时报ls: 无法访问/opt/wdp/spark/lib/spark-assembly-*.jar: 没有那个文件或目录

报错如下: ls: 无法访问/opt/wdp/spark/lib/spark-assembly-*.jar: 没有那个文件或目录

[root@hrbu30 hive]# hive
ls: 无法访问/opt/wdp/spark/lib/spark-assembly-*.jar: 没有那个文件或目录

Logging initialized using configuration in jar:file:/opt/wdp/hive/lib/hive-common-1.2.2.jar!/hive-log4j.properties

报错原因:

spark1升级到spark2以后,原有lib目录下的大jar包被分散成多个小jar包,原来的spark-assembly-*.jar已经不存在,所以hive没有办法找到这个jar包。简单来讲:新版本的spark,hive没有及时支持更新。

解决办法:

1.进入到hive的lib下面,修改hive启动脚本

[hadoop@hrbu30 hive]$ cd bin/
[hadoop@hrbu30 bin]$ vi hive

找到大约116行,然后修改sparkAssemblyPath=ls ${SPARK_HOME}/lib/spark-assembly-*.jar为sparkAssemblyPath=ls ${SPARK_HOME}/jars/*.jar

# add Spark assembly jar to the classpath
if [[ -n "$SPARK_HOME" ]]
then
  sparkAssemblyPath=`ls ${SPARK_HOME}/lib/spark-assembly-*.jar`
  CLASSPATH="${CLASSPATH}:${sparkAssemblyPath}"
fi
# add Spark assembly jar to the classpath
if [[ -n "$SPARK_HOME" ]]
then
  #sparkAssemblyPath=`ls ${SPARK_HOME}/lib/spark-assembly-*.jar`
  sparkAssemblyPath=`ls ${SPARK_HOME}/jars/*.jar`
  CLASSPATH="${CLASSPATH}:${sparkAssemblyPath}"
fi

2.替换之后保存并退出,再次启动hive,就不会报错了
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值