zoukankan      html  css  js  c++  java
  • Hive权限管理

    最近遇到一个hive权限的问题,先简单记录一下,目前自己的理解不一定对,后续根据自己的理解程度更新


    一、hive用户的概念

      hive本身没有创建用户的命令,hive的用户就是Linux用户,若当前是用mr用户输入hive,进入hive的shell,则当前hive的用户为mr。

      hive本身不提供用户和用户的管理,只做权限控制。

      所以在实际的生产中,容易造成创表和使用表的用户不统一的情况,针对该情况可以使用beeline的方式连接hive,简洁的命令如下,具体的使用方式可以百度查找。

    1 beeline -u jdbc:hive2//mysql_IP:port -n username

    二、hive数据存储方式

      这里讨论基于MySQL的remote方式,这种方式可以支持多用户的并发模式。

      hiveserver元数据信息是存在MySQL中的,存在MySQL中的元数据信息包括:表的位置、创建时间、数据库相关、表相关关系以及表的一些授权信息等,没有具体的内容;物理表是存在HDFS上的。

      因为数据是存在HDFS上的,创表或导入数据时候,当前用户要对存放数据的HDFS目录要有权限。若没有相关权限,会导致很多操作都会报错。

    三、hive权限问题

    1.   在hive-site.xml文件中,开启权限认证,参数如下:
    1 hive.security.authorization.enabled  //默认为false
    2 hive.security.authorization.createtable.owner.grants

        2.  在用户没有权限的做某项操作的时候,可以通过以下语句赋给用户ALL的权限或者对应的权限。

    1 GRATN ALL TO USER username;

      但是这样做,有点力度不够细,比如你想给某个用户赋select、create的权限,别的权限不给,这样上述语句就得执行两遍,当用户多的时候,这种情况尤为繁琐。

      在hive中role(角色)这一概念,可以较好的解决上述问题。可以将不同的权限根据需要赋给对应的role,然后将这个role赋给用户,再将相应的权限赋给这个role,这样用户就可以根据role的权限执行相应操作,这样在权限管理上更加灵活了。

       3.  实际上,所有的Linux系统用户登录hive后,都可以执行Grant/revoke操作,这样假如一个用户没有某一权限了,很简单只需要执行一次grant就行,可以认为hive用户自己管理自己的权限。

      这个可以在hive-site.xml文件中配置hive.semantic.analyzer.hook,然后实现自己的权限控制类,即可。控制类的实现可上网百度。

      配置好上面的配置项后,相当于是设置超级管理员权限,具体的权限根据自己的权限控制类。此时若要新增一个超级管理员用户,可以在hive-site.xml文件的hive.users.in.super.administrator中设置。


     update:2018-12-25

      

    4.  hive用户权限管理的简单流程:

        i)创建超级管理员;

        ii)新建用户,赋予hive目录的权限;

        iii)超级管理员进入hive,给指定用户(组)赋操作权限;

        iv)使用新建用户连接hive;

    4、hive有两种 授权机制:

    总结来说为:1、基于底层HDFS的权限;2、基于标准SQL的grant等命令。具体的在实践中的注意点已在上面提及。

    Ref:

    https://www.cnblogs.com/yejibigdata/p/6394719.html

  • 相关阅读:
    js 判断字符串中是否包含某个字符串
    MySQL批量更新数据
    js实现字符串切割并转换成对象格式保存到本地
    C#用openfiledialog文件和savefileDialog打开和保存文件
    C#中e.Cancel,e.Handled的区别与应用
    登录窗体与主窗体的关闭
    C#中WinForm程序退出方法技巧总结
    c# 如何获取项目的根目录
    C# Winform中WndProc 函数作用
    SqlDataAdapter.Update批量数据更新
  • 原文地址:https://www.cnblogs.com/love-yh/p/10099962.html
Copyright © 2011-2022 走看看