【hive-解决】HiveAccessControlException Permission denied: CREATEFUNCTION

这篇具有很好参考价值的文章主要介绍了【hive-解决】HiveAccessControlException Permission denied: CREATEFUNCTION。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.任务描述

 Error while compiling statement: FAILED:  HiveAccessControlException Permission denied: Principal [name=root, type=USER] does not have following privileges for operation 
 CREATEFUNCTION [ADMIN PRIVILEGE on INPUT, ADMIN PRIVILEGE on 
 OUTPUT]

问题表象:使用root用户通过hive创建udf函数时报没有admin的权限。

相关配置:

设置成false则,yarn作业获取到的hiveserver2用户都为hive用户。
设置成true则为实际的用户名

  <property>
     <name>hive.server2.enable.doAs</name>
     <value>false</value>
  </property>

  <property>
	<name>hive.users.in.admin.role</name>               
	<value>taiyi</value>
  </property>

看到设置了hive.users.in.admin.role=taiyi,但执行时却报没有admin权限。。。那admin权限如何正确的设置和使用呢?

 

二. 解决

hive官网描述了关于SQL Standard Based Hive Authorization,即hive对执行sql时的鉴权。

https://cwiki.apache.org/confluence/display/Hive/SQL+Standard+Based+Hive+Authorization#SQLStandardBasedHiveAuthorization-Troubleshooting

The SQL standards based authorization option (introduced in Hive 0.13) provides a third option for authorization in Hive. This is recommended because it allows Hive to be fully SQL compliant in its authorization model without causing backward compatibility issues for current users. As users migrate to this more secure model, the current default authorization could be deprecated.

hive对标准sql鉴权提供了新的鉴权选择。且这种方式不会出现向后兼容的问题。当用户设置了此安全模型,默认的鉴权将会被弃用。

看下官网如何配置的admin权限

For Hive 0.14 and Newer
error while compiling statement: failed: hiveaccesscontrolexception permissi,hive,hive,hadoop,数据仓库
这里我们只关注前两项,其中第二项:hive.users.in.admin.role 描述了,此值生效之后,属于admin角色的用户在获得admin角色的权限之前需要执行“set role”命令,因为默认情况下该角色不在当前角色中。

 
这里大概知道了是因为没有执行:set role admin; 导致admin角色用户没有生效。

进入hive终端之后,执行set role admin; ,再执行udf的创建:

set role admin;

create temporary function ip_get as 'xxx.xxx.IpRegionUdf'
using
jar 'hdfs://namenode:9000/home/user/etl-hive-functions-1.0.jar';

 
官网的Troubleshooting也描述了此问题
error while compiling statement: failed: hiveaccesscontrolexception permissi,hive,hive,hadoop,数据仓库

至此解决;
https://cwiki.apache.org/confluence/display/Hive/SQL+Standard+Based+Hive+Authorization文章来源地址https://www.toymoban.com/news/detail-775130.html

到了这里,关于【hive-解决】HiveAccessControlException Permission denied: CREATEFUNCTION的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker容器内Permission denied解决方法

    1. 已经存在的容器 之前使用这个命令进入容器内部,mv和vim都报Permission denied 更改为这个 这样进去就不会报权限不足的情况了 2. 新建的容器 加上privileged=true这个参数 使用该参数,container内的root拥有真正的root权限。 否则,container内的root只是外部的一个普通用户权限。

    2024年02月11日
    浏览(51)
  • PermissionError: [Errno 13] Permission denied 解决方法

    程序中使用OpenCV和Image反复保存图片并打开,经常会报「PermissionError: [Errno 13] Permission denied 」这个错误,尝试将图片格式统一为opencv或image也没什么用。 查来查去原因大概是在新的图片还没保存好的时候已经开始执行打开图片的命令了,在打开图片之前加上time.sleep(1)完美解

    2024年02月12日
    浏览(59)
  • 解决 -bash: *.sh: Permission denied 的问题

             今天,在新的开发环境中,执行sh脚本的时候,出现了下面的问题: -bash: *.sh: Permission denied。         使用ll -rt命令,看下sh脚本的权限。         未做处理之前:         可以看到,之前的sh脚本是没有执行权限标识(x)的。因此定位到原因,是 sh脚本

    2024年02月03日
    浏览(47)
  • Docker提示permission denied的解决方案

    安装完Docker之后,使用Docker命令,如Docker version命令,会提示 ERROR: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \\\"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info\\\": dial unix /var/run/docker.sock: connect: permission denied 这种问题,通常是因为当前用户没有加入到Do

    2024年02月13日
    浏览(53)
  • nginx的权限问题(13: Permission denied)解决办法

    1、查看 nginx 启动用户和使用用户是否一致 如图:  一个是www,一个是root用户 2、打开 nginx 配置文件 打开  nginx.conf 文件 查找nginx.conf的位置  3、把  nginx 改为 root 4、重启nginx服务 再使用查看命令 如图: 访问接口,正常请求  

    2024年02月10日
    浏览(103)
  • 技巧 | 如何解决 zsh: permission denied 问题 | Mac

    在 macOS 系统终端执行 sh 程序脚本时,抛出异常 zsh: permission denied 用户没有权限,所以才出现了这个错误,所以只需要用 chmod 修改一下权限就可以了 给文件权限,可执行以下命令 chmod 是权限管理命令 change the permissions mode of a file 的缩写。 u 代表所有者,x 代表执行权限,+ 表

    2024年02月03日
    浏览(46)
  • github提示Permission denied (publickey),如何才能解决

    当GitHub提示“Permission denied (publickey)”错误,这通常意味着您的SSH密钥没有被正确地配置。以下是一些常见的解决步骤,帮助您诊断和解决该问题: 检查是否已设置SSH密钥 : 运行以下命令检查是否存在SSH密钥: bashCopy code ls -al ~/.ssh 这将列出 .ssh 目录下的所有文件。您应该看

    2024年02月03日
    浏览(58)
  • 【linux】解决Git错误Permission denied(publickey)

    上次租的腾讯云服务器,服务区是在新加坡,不论git clone还是下载文件,从来都没有问题。这次租的服务区选在了广州,出现各种问题,就这事,得到的教训,租服务器最好还是租境外地区的比较好,毕竟工欲善其事必先利其器。 在git 克隆项目时,出现Permission denied(publi

    2024年02月08日
    浏览(65)
  • git clone报错:Permission Denied (权限被拒绝)解决

    参考文章(81条消息) git clone 解决Permission Denied (publickey)问题_scanklm的博客-CSDN博客_git publickey 步骤一、检查本地ssh key是否存在  bash ls ~/.ssh/ 步骤二:生成ssh key ssh-keygen -t rsa -b 2048 -C \\\"email@163.com(写自己的邮箱)\\\"   步骤三:添加ssh key至ssh-agent 上传码云操作    GitHub  同理   

    2024年02月13日
    浏览(137)
  • 解决java.nio.file.AccessDeniedException: Permission denied

    博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客👦🏻 《java 面试题大全》 🍩惟余辈才疏学浅,临摹之作或有不妥之处,还请读者海涵指正。☕🍭 《MYSQL从入门到精通》数据库是开发者必会基础之一~ 🪁 吾期望此文有资助于尔,即使粗浅难及深广,亦备添少许微薄

    2024年02月07日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包