sparkSQL读取hive库或表时提示没有权限异常

spark@h1:~$ spark-shell
20/03/08 13:29:35 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://h1:4040
Spark context available as 'sc' (master = spark://h1:7077, app id = app-20200308132939-0009).
Spark session available as 'spark'.
Welcome to____              __/ __/__  ___ _____/ /___\ \/ _ \/ _ `/ __/  '_//___/ .__/\_,_/_/ /_/\_\   version 2.4.4/_/Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_162)
Type in expressions to have them evaluated.
Type :help for more information.scala> spark.sql("use liyuan")。。。。
20/03/08 13:29:50 WARN HiveConf: HiveConf of name hive.tez.input.generate.consistent.splits does not exist
20/03/08 13:29:50 ERROR ObjectStore: Version information found in metastore differs 3.1.0 from expected schema version 1.2.0. Schema verififcation is disabled hive.metastore.schema.verification so setting version.
20/03/08 13:29:50 WARN ObjectStore: setMetaStoreSchemaVersion called but recording version is disabled: version = 1.2.0, comment = Set by MetaStore spark@192.168.1.11
org.apache.spark.sql.AnalysisException: java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException: Permission denied;at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:106)at org.apache.spark.sql.hive.HiveExternalCatalog.databaseExists(HiveExternalCatalog.scala:214)at org.apache.spark.sql.internal.SharedState.externalCatalog$lzycompute(SharedState.scala:114)at org.apache.spark.sql.internal.SharedState.externalCatalog(SharedState.scala:102)at org.apache.spark.sql.internal.SharedState.globalTempViewManager$lzycompute(SharedState.scala:141)at org.apache.spark.sql.internal.SharedState.globalTempViewManager(SharedState.scala:136)at org.apache.spark.sql.hive.HiveSessionStateBuilder$$anonfun$2.apply(HiveSessionStateBuilder.scala:55)at org.apache.spark.sql.hive.HiveSessionStateBuilder$$anonfun$2.apply(HiveSessionStateBuilder.scala:55)at org.apache.spark.sql.catalyst.catalog.SessionCatalog.globalTempViewManager$lzycompute(SessionCatalog.scala:91)at org.apache.spark.sql.catalyst.catalog.SessionCatalog.globalTempViewManager(SessionCatalog.scala:91)at org.apache.spark.sql.catalyst.catalog.SessionCatalog.setCurrentDatabase(SessionCatalog.scala:258)at org.apache.spark.sql.execution.command.SetDatabaseCommand.run(databases.scala:59)at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:79)at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:194)at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:194)at org.apache.spark.sql.Dataset$$anonfun$52.apply(Dataset.scala:3370)at org.apache.spark.sql.execution.SQLExecution$$anonfun$withNewExecutionId$1.apply(SQLExecution.scala:78)at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:125)at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:73)at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3369)at org.apache.spark.sql.Dataset.<init>(Dataset.scala:194)at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:79)at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:642)... 49 elided
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException: Permission denied

问题分析

该库是用hive用户创建的,spark用户下无访问权限
查看hdfs目录得到权限如下

spark@h1:~$ hdfs dfs -ls /user/hive/warehouse/
Found 6 items
drwxr-xr-x   - hive supergroup          0 2020-03-08 13:05 /user/hive/warehouse/liyuan.db

权限里已经说明,用户组权限是可读可执行的,怀疑是spark用户不属于hive用户组,查看用户组管理

bigdata@h1:~$ sudo grep 'hive' /etc/group
bigdata:x:1000:hadoop,hive,hbase,sino,whale,zookeeper,spark
hive:x:1003:

发现hive用户组下没有其他用户

问题解决

添加spark用户到hive用户组

bigdata@h1:~$ sudo usermod -a -G hive spark
bigdata@h1:~$

再次使用spark-shell启动spark-sql查询

scala> spark.sql("select * from tb_evt").collect.foreach(println)
。。。
20/03/08 13:51:48 WARN HiveConf: HiveConf of name hive.tez.input.generate.consistent.splits does not exist
[Stage 0:>                                                          (0 + 0) / 2]20/03/08 13:52:03 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources
[190900909,20,20200308]
[232323232,89,20200308]
[217787823,90,20200308]

spark读hive没有权限异常Permission denied相关推荐

  1. nginx的权限问题(Permission denied)解决办法

    nginx的权限问题(Permission denied)解决办法 一个nginx带多个tomcat集群环境,老是报如下错误: failed (13: Permission denied) while ...

  2. 远程连接:hive 报错:Permission denied: user=anonymous, access=EXECUTE

    远程连接hive Error: Failed to open new session: java.lang.RuntimeException: java.lang.RuntimeException: ...

  3. 【Linux】完美解决 nginx 的权限问题( Permission denied)

    问题描述 Linux安装nginx过程中,执行./confiture命令时,报错Permission denied(如图) 解决办法 nginx的目录都是root用户,所以执行命令时提升一下权限即可. ...

  4. hadoop 权限错误 Permission denied: user=root, access=WRITE, inode=/:hdfs:super

    关于不能执行Hadoop命令 并报权限问题执行错误1.Permission denied: user=root, access=WRITE, inode="/":hdfs:supe ...

  5. macos系统中shell脚本权限不足Permission denied的问题

    今天安装IntelliJ IDEA时运行脚本遇到的一些问题,简单总结了一下 首先尝试运行脚本时一直报错:Permission denied 如下图: 于是我给sh脚本文件添加权限 chmod +x s ...

  6. ubuntu删除提示权限不够permission denied,以及cannot remove “file“,is a directory.

    最近在配置深度学习环境,但是不知怎么的装错了软件版本,而且文件夹还被上锁了,于是尝试了很多方法,提示"permission denied",以及"cannot remov ...

  7. PHP 操作文件没有权限:Permission denied

    问题 在本地使用PHP脚本操作文件可以成功,等放到服务器上就不行. 查看apache日志: #cd /var/log/httpd #tac error_log 显示: cannot create di ...

  8. linux挂载硬盘无权限(permission denied)

    问题描述 我在TX2的ubuntu系统里挂载一个硬盘之后,可以看到相应文件夹分配了空间,但是无法对其进行写的操作,并提示权限不够(permission denied) 解决方案: 我们只需要将该文件夹 ...

  9. git pull 报错:权限不够 Permission denied (publickey)

    一.背景 在git 提交的时候,突然就行不通,一直报错: Permission denied (publickey). fatal: Could not read from remote reposi ...

最新文章

  1. 细粒度图像分割 (FGIS)
  2. iOS进阶之底层原理-应用程序加载(dyld加载流程、类与分类的加载)
  3. OAuth2.0 工作流程
  4. 密码学系列之:memory-hard函数
  5. 常用数据结构的一部分类
  6. mysql 多对多_mysql多对一、多对多查询实践
  7. 面向.Net程序员的Sql版本管理
  8. java收集碎片_Thinking in Java 笔记碎片
  9. python缓存memoryerror_Python安装会抛出大量MemoryError()的
  10. 三级联动(ajax)
  11. 个位百位AS3实现经典算法(二) 水仙花数
  12. ServerVariables 变量
  13. VNC方式连接树莓派
  14. 跟周鸿祎学互联网思维 ——《周鸿祎自述|我的互联网方法论》读后感
  15. python opencv 函数库说明
  16. VS2019:添加现有项目 / 现有cpp文件
  17. 天蝎项目整机柜服务器技术规范v1.01,天蝎项目整机柜服务器技术规范v1.01
  18. 计算机组成原理总,计算机组成原理总总结复习(88页)-原创力文档
  19. 越狱Season 1-Episode 1: the pilot
  20. 【视频开发】RTSP SERVER(基于live555)详细设计

热门文章

  1. 域名备案申请未通过管局审核,因为在审核通过前网站已开通
  2. 详解Transformer模型及相关的数学原理
  3. [11.7日学习记录]多目标优化和帕累托最优解集(未完成)
  4. Python爬虫爬取天天基金网
  5. 解释PLMN,CELLID,LAC
  6. 人类群星闪耀时——决定人类历史的10个瞬间
  7. 2020“黄鹤杯”网络安全人才与创新峰会圆满成功
  8. PDU发送中英文长短信
  9. 【CQBZOJ - 1205】因式分解问题
  10. lol国服维护可以玩别的服务器吗,LOL:除了艾欧尼亚,其他服务器都只能算是“郊区”吗?...