如何查看集成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
3.执行一个Hive的MR作业
4.Yarn的应用程序列表显示
5.Yarn的8088界面显示
3.查看Hive作业真实用户
1.通过Cloudera Manager界面查看在Hive作业运行完成后,查看Yarn应用程序列表,可以看到显示的用户信息
可以看到作业在运行完成后,显示的用户为fayson用户,为我们执行作业的用户。
2.通过Yarn的8088界面查看,进行作业执行列表点击作业查看详情
进入Job运行界面
点击“History”,进入作业历史详情界面
点击“Configuration”链接,进入作业配置相应页面,过滤“hive.sentry.subject.name”查看作业的真实用户
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作业的真实用户的主要内容,如果未能解决你的问题,请参考以下文章
0031-如何在CDH启用Kerberos的情况下安装及使用Sentry