如何查看集成Sentry后Hive作业的真实用户

Posted Hadoop实操

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看集成Sentry后Hive作业的真实用户相关的知识,希望对你有一定的参考价值。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


Fayson的github:https://github.com/fayson/cdhproject


提示:代码块部分可以左右滑动查看噢


1.文档编写目的



在CDH集群启用Sentry服务后,需要关闭Hive的启用模拟功能,hive.server2.enable.impersonation设为false,这会导致任何用户在Hive中提交的所有SQL生成的MR任务的用户名称都是hive,而非真实用户。本篇文章主要介绍如何查看集成Sentry后Hive作业的真实用户。

 

  • 内容概述

1.执行Hive作业

2.查看Hive作业用户方式

3.总结


  • 测试环境

1.RedHat7.2

2.CM和CDH集群为5.11.2

3.集群已启用Sentry和Kerberos


2.执行Hive作业



1.使用fayson用户Kinit操作



2.使用beeline登录HiveServer2


如何查看集成Sentry后Hive作业的真实用户


3.执行一个HiveMR作业


如何查看集成Sentry后Hive作业的真实用户


4.Yarn的应用程序列表显示


如何查看集成Sentry后Hive作业的真实用户


5.Yarn8088界面显示


如何查看集成Sentry后Hive作业的真实用户


3.查看Hive作业真实用户



1.通过Cloudera Manager界面查看在Hive作业运行完成后,查看Yarn应用程序列表,可以看到显示的用户信息


如何查看集成Sentry后Hive作业的真实用户


可以看到作业在运行完成后,显示的用户为fayson用户,为我们执行作业的用户。


2.通过Yarn8088界面查看,进行作业执行列表点击作业查看详情


如何查看集成Sentry后Hive作业的真实用户


进入Job运行界面


如何查看集成Sentry后Hive作业的真实用户


点击“History”,进入作业历史详情界面


如何查看集成Sentry后Hive作业的真实用户


点击“Configuration”链接,进入作业配置相应页面,过滤“hive.sentry.subject.name”查看作业的真实用户


如何查看集成Sentry后Hive作业的真实用户


3.通过Cloudera Manager提供的API界面查看Hive作业的真实用户


curl -u admin:admin "http://ip-172-31-22-86.ap-southeast-1.compute.internal:7180/api/v16/clusters/cluster/services/yarn/yarnApplications"

(可左右滑动)



4.总结



  • 集群集成Sentry服务后Hive作业的真实用户不能通过Yarn的8088界面直接查看到,无论作业执行完成与否。

  • 在Hive作业运行完成后可以通过Cloudera Manager界面的“Yarn应用程序”列表看到执行作业的真实用户。

  • 可以通过CM提供的API接口来获取运行完成的Hive作业的详细信息查看真实用户,也需等待作业执行完成。

  • 通过YARN的HistoryServer查看每个作业的Configuration,hive.sentry.subject.name可以查看真实的用户,但依旧需要等待作业执行完毕。



提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。



推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。


以上是关于如何查看集成Sentry后Hive作业的真实用户的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Sentry管理Hive外部表权限

0015-如何使用Sentry管理Hive外部表权限

0031-如何在CDH启用Kerberos的情况下安装及使用Sentry

如何使用Sentry管理Hive外部表(补充)

hive.server2.enable.doAs 和sentry冲突吗

0035-如何使用Sentry管理Hive外部表(补充)