Hive启用Sentry后的Yarn资源池限制配置

2 下载量 191 浏览量 更新于2024-08-29 收藏 611KB PDF 举报
"0439-Hive启用Sentry后如何限制用户提交Yarn资源池" 本文主要探讨了在启用Hive Sentry安全策略后,如何有效限制用户提交YARN资源池的问题。启用Sentry是为了实现更细粒度的访问控制,但这也可能导致用户无法直接指定YARN队列,尤其是在YARN已经启用了访问控制列表(ACL)的情况下。为了解决这个问题,我们需要进行一系列配置以确保用户只能按照预设的规则提交作业。 首先,文档强调了之前介绍的两篇内容:《如何使用Cloudera Manager设置使用YARN队列的ACL》和《如何在Cloudera Manager中配置YARN放置规则》。这两篇文档详细阐述了如何通过ACL控制用户提交作业到特定的资源池,并通过放置策略自动分配作业。然而,这并不足以防止用户手动设定不被授权的资源池。 测试环境中,CM和CDH版本为5.15,有多个测试用户,每个用户都有各自的YARN资源池分配策略。例如,usera的作业会被自动分配到root.testa队列,userc的作业会分配到root.testb队列,而usere的作业则默认分配到root.default队列。 在启用YARN ACL之后,需要对各个队列设置提交和管理访问控制。具体来说,需要配置允许testa和testb组的用户提交到对应的资源池,并且为了配合Hive Sentry,还需要在这些队列中特别添加hive用户。这是因为启用Sentry后,所有的Hive操作都会以hive用户身份执行,因此,即使用户本身无权提交到某个队列,hive用户也应该有权限,这样才能保证Sentry权限控制的正确性。 接下来,文档提到的关键步骤是禁用Hive指定资源池的配置。在启用Sentry后,应禁止用户通过mapreduce.job.queuename参数直接指定资源池,这样可以确保用户的作业只能按照YARN的放置规则自动分配,避免了用户越权提交。 总结部分可能涵盖如何检查和验证这些配置是否生效,以及在遇到问题时的排查方法。这包括查看YARN的日志、Hive的审计日志以及Cloudera Manager的相关监控信息,以确保所有的作业都在预期的资源池中运行,并且没有未授权的提交行为。 这篇文章提供了一个详细的指南,指导读者在启用Hive Sentry和YARN ACL后,如何维护一个安全且有序的资源调度环境,确保用户只能按照预定的策略提交和运行作业。这样的设置对于大型集群管理和多用户共享资源的场景至关重要,能有效防止资源滥用和安全风险。