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

时间:2022-05-06
本文章向大家介绍如何查看集成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干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操