[关闭]
@zhangyy 2020-08-19T17:28:48.000000Z 字数 1419 阅读 137

如何在CDH 6.3.2 启用Kerberos 中 使用sentry

大数据运维专栏


  • 一: 系统环境介绍
  • 二: CDH6.3.2 启用安装sentry
  • 三: sentry 使用
  • 四:启用sentry测试

一: 系统环境介绍

  1. 操作系统
  2. CentOS7.5x64
  3. cdh/cm 版本
  4. cm:6.3.1
  5. cdh:6.3.2
  6. 采用root用户操作
  7. 前置条件:
  8. 1.CDH集群运行正常
  9. 2.集群已启用Kerberos且正常使用

image.png-54.1kB

二:CDH6.3.2 启用安装sentry

  1. 1.MySQL中创建sentry数据库
  2. # mysql -uroot -pflyfish225
  3. mysql> create database sentry character set latin1; (这个地方必须是latin1 字符集)
  4. mysql> grant all privileges on sentry.* to 'sentry'@'%' identified by 'sentry_1234' with grant option;
  5. mysql> flush privileges;

image.png-69.6kB

image.png-49kB

image.png-95.6kB

image.png-65.3kB

image.png-84.6kB


image.png-58.4kB

三: sentry 使用

3.1 在 hive 中使用sentry

  1. 1.配置Hive使用Sentry服务

image.png-62.5kB

  1. 2.关闭Hive的用户模拟功能

image.png-46.1kB

3.2 在impala 中启用sentry

  1. 配置Impala使用Sentry

image.png-58kB

3.3 在hue中启用sentry

image.png-52.7kB

3.4 在hdfs中启用sentry

image.png-60.7kB

  1. 完成以上配置后,回到Cloudera Manager主页,部署客户端配置并重启相关服务。

四:sentry 的测试

4.1创建hive超级用户

  1. 使用hive用户登录Kerberos,操作如下

image.png-28.7kB

  1. 1.使用beeline连接HiveServer2
  2. beeline
  3. !connect jdbc:hive2://localhost:10000/;principal=hive/dev01.lanxintec.cn@LANXIN.COM
  4. create role admin;

image.png-119.9kB

  1. grant all on server server1 to role admin;
  2. grant role admin to group hive;

image.png-45.6kB

  1. 创建普通账号与开发者账号
  2. 注意:集群所有节点必须存在用户与用户组,赋权是针对用户组而不是针对用户。
  3. Linux添加两个用户(所有节点都要执行)
  4. useradd read
  5. useradd developer

image.png-43.3kB

  1. beeline登录创建账号
  2. create role read;
  3. create role developer;
  4. grant select on server server1 to role read;
  5. grant select on server server1 to role developer;
  6. grant insert on server server1 to role developer;
  7. grant create on server server1 to role developer;
  8. grant role read to group read;
  9. grant role developer to group developer;

image.png-80.5kB

image.png-166.6kB


  1. 创建test
  2. 使用hive用户登录Kerberos,通过beeline登录HiveServer2,创建test表,并插入测试数据
  3. create table test (s1 string, s2 string) row format delimited fields terminated by ',';
  4. insert into test values('a','b'),('1','2');

image.png-85.9kB

  1. 使用read 账号登录hue 查看 可以 创建 报错

image.png-46.1kB

image.png-78.7kB


  1. 使用developer 登录
  2. 既可以 查询 也可以 创建表

image.png-68.2kB

image.png-68kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注