Hive 配置——认证和授权

Hive 配置——认证和授权,第1张

参考: https://blog.csdn.net/CPP_MAYIBO/article/details/88085414

最近发现好多小伙伴提交的sql质量不是太好,通过hue平台,各种强制修改hiveserver的参数,将任务提交到yarn上,导致集群性能下降

1.本来想通过修改hue的源码,来限制set命令,可以修改提交任务和页面交互的js,可能稍为麻烦点,

2.针对hiveserver2的hive-site.xml配置了下:

hive.conf.restricted.listhive.exec.parallel,hive.exec.dynamic.partition,hive.exec.dynamic.partition.mode,hive.mapred.mode

全面总结了hive限制, 限制的/隐藏的/内部列表和白名单(Restricted/Hidden/Internal List and Whitelist)

 hive.conf.restricted.list (属性限制列表)

该配置项的值,是由逗号分隔的一些配置属性的列表,加入到列表的配置属性在运行时是不能改变的。比如,当 hive.security.authorization.enabled 设置true时,该属性就应该添加到这个列表中,这样就可以防止客户端在运行时将这个值改为false

 hive.conf.hidden.list (属性隐藏列表)

javax.jdo.option.ConnectionPassword,hive.server2.keystore.password

该配置项的值,是由逗号分隔的一些配置属性的列表,这个列表中的配置属性是不能被普通用户读的,如密码等信息

hive.conf.internal.variable.list (内部变量列表)

hive.added.files.path,hive.added.jars.path,hive.added.archives.path

 该配置项的值,是由逗号分隔的一些配置属性的列表,这个列表中的配置属性是不能通过set命令进行设置的。

hive.security.command.whitelist (命令白名单)

从Hive 0.14.0开始支持 “set,reset,dfs,add,list,delete,reload,compile”,默认这些命令都是要经过授权的,若要限制这些命令中的任何一个,设置 hive.security.command.whitelist 为不包含该命令的值。

1、mysql错误码1044,权限错误

当用root创建新数据库时,发现很奇怪的问题,root权限居然无法创建数据库,看了网上很多文档说是root创建密码问题,按照网上方法修改仍然没有起效

后来发现自已原来安装过mysql,已经创建了var/lib/mysql 文件夹,然后卸载重装没有删除这个文件夹,这个文件夹里面的mysql权限文件是原来的mysql用户的,新的mysql用户虽然用户名也是mysql,但是ID是不一样的,当然无法访问原来的文件,于是发原来的mysql文件夹删掉,重新安装mysql,问题解决

2、启动mysql失败,提示:The server quit without updating PID file

查看err文件,提示是设置utf-8字符问题,原因是我在mysqld 下面用了:default-character-set=utf8

导致启动失败

进入/etc/my.cnf文件,把设置utf-8字符的那行删掉,mysqld下面如果要使用utf-8,设置应该为:

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

问题解决

3、创建新数据库hive,创建用户hive,并授权hive数据库权限给hive用户后,发现使用hive用户登录时报错:

ERROR 1045 (28000): Access denied for user 'hive'@'localhost' (using password: YES)

这是因为user表中有用户名为空的用户导致,把user表中的空用户删除,刷新,问题解决

执行命令如下:

delete from user where user=''

FLUSH PRIVILEGES

sudo apt-get install mysql-server mysql-client

1). 建立数据库hive,

create database hive

2). 创建用户hive

create user ‘hive’@’%’ identified by ‘hive’

3).创建hive用户,并授权

grant all on hive.* to hive@’%’ identified by ‘hive’

flush privileges

在启动mysql时可能遇到的问题:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10066775.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存