Hive报错笔记-ls: 无法访问/opt/SoftWare/Spark/spark/lib/spark-assembly-*.jar: 没有那个文件或目录

集群搭建好,环境变量也都配置好,使用hive命令,出现
ls: 无法访问/opt/SoftWare/Spark/spark/lib/spark-assembly-*.jar: 没有那个文件或目录

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

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

[root@hadoop bin]# vim hive

找到

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

sparkAssemblyPath=ls ${SPARK_HOME}/lib/spark-assembly-*.jar` 替换成

sparkAssemblyPath=`ls ${SPARK_HOME}/jars/*.jar`

替换之后保存并退出。再次使用hive之后,没有在报错。

参考:https://www.maiyewang.com/archives/31969

你可能感兴趣的:(Hive,Spark)