HiveServer2用户名和密码认证

方案一:采用PAM的模式

最好记录新建的用户和密码,以便于管理和日后迁移等工作

0. 下载JPAM

解压之后将libjpam.s复制到/usr/local/service/hadoop/lib/native中

1. 修改文件权限:

chgrp hadoop /etc/shadow

chmod 550 /etc/shadow

2. 修改配置/usr/local/service/hive/conf/hive-site.xml,重启hiveserver2

<property>
<name>hive.server2.authentication</name>
<value>PAM</value>
</property>
<property>
<name>hive.server2.authentication.pam.services</name>
<value>login,sudo</value>
</property>

3. 修改配置/usr/local/service/hue/desktop/conf/pseudo-distributed.ini,重启HUE

找到关键字beeswax的底端

解开注释:

auth_username=hadoop
auth_password=xxxx

为你的hadoop用户新增密码, 密码和上述一致:

passwd hadoop

4. 新建用户密码

useradd qcloud_test_use
passwd qcloud_test_use

过几分钟时间,你就可以在Ranger看到了新建的用户:

这时,你需要为你的用户配置对应的/tmp/hive权限,否则会报错

配置ranger策略:

5. 登录测试

show tables 

这个时候,你需要在ranger上对该用户对表进行权限控制

下载地址:

https://sourceforge.net/projects/jpam/files/jpam/jpam-1.1/

方案二:自定义实现密码认证的模式

支持步骤:

将我们编译之后将生成的emr-hive-plugin-1.0.jar包,添加到$HIVE_HOME/lib中

增加配置:

<property>
        <name>hive.server2.authentication</name>
        <value>CUSTOM</value>
</property>
<property>
        <name>hive.server2.emr.authentication.file</name>
        <value>/home/hadoop/a.txt</value>
</property>
<property>
        <name>hive.server2.custom.authentication.class</name>
        <value>com.tencent.qcloud.emr.plugin.EmrHiveServer2Auth</value>
</property>

文件格式为,user,md5sum(password)的方式:

hadoop,b59c67bf196a4758191e42f76670ceba
shangwen,b59c67bf196a4758191e42f76670ceba

你可以执行命令,例如:

echo -n 1111 | md5sum

重启hiveserver2

修改HUE代码支持CUSTOM模式

vim /usr/local/service/hue/apps/beeswax/src/beeswax/server/hive_server2_lib.py

增加红色区域:

修改配置:

重启HUE

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区

领取腾讯云代金券