Hadoop proxy user

如何理解Proxy user(包括proxy、impersonation和常见的Proxy use case)
官方文档的一些configurations及相应解释
帮助理解的两个博客:
hadoop的用户代理机制
HDFS-- Hadoop中的ProxyUser

有了上面的前置知识,接下来,我们开始理解下面这段话:

Hive 的运行依赖于 Hadoop ( HDFS 、 MapReduce 、 YARN 都依赖),同时涉及到 HDFS 文件系统的访问
所以需要配置 Hadoop 的代理用户,即设置 hadoop 用户允许代理(模拟)其它用户

即需要配置如下内容在 Hadoop 的 core-site.xml 中,并分发到其它节点,且重启 HDFS 集群

# hadoop.proxyuser.hadoop.hosts第2个hadoop可以替代成你信任的并想将其设置为proxy user的用户
<property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
</property>

<property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
</property>

下面这几段话解决了我的困惑(即为什么明明是Hive存在与Hadoop的依赖和交互,照理说应该配置的HIve的Proxy,但是实际上配置的却是Hadoop):

Configuring a proxy user in Hadoop allows Hive to impersonate or act
on behalf of other users when accessing HDFS (Hadoop Distributed File
System). However, this doesn’t mean that Hive itself inherently has
the capability to directly impersonate other users. Instead, Hive
leverages the proxy user settings configured in Hadoop to achieve this
functionality.

When a user submits a query or job to Hive, Hive interacts with Hadoop
components such as HDFS, MapReduce, or YARN on behalf of that user.
Hive uses the configured proxy user in Hadoop to authenticate and
execute actions on behalf of the user who submitted the query. This
ensures that the user’s permissions and access controls are respected
when accessing data stored in HDFS or executing tasks on the Hadoop
cluster.

In summary, while Hive doesn’t have its own built-in capability to
directly impersonate other users, it can utilize the proxy user
configuration in Hadoop to achieve user impersonation for accessing
HDFS or performing tasks within the Hadoop ecosystem.

简单说,就是当一个在上述配置文件中的user(针对上述配置文件来说,是任意user),试图利用Hive去和Hadoop产生交互时(例如对HDFS中的表进行查询),Hive就会利用proxy user(针对上述配置文件来说,是hadoop)来impersonate或act on behalf of 这个user来实现和Hadoop的交互,而无需作为这些用户进行身份验证。

proxy user’features

  • 值得信赖的;少;无需身份验证
  • 要去模拟或代表其他用户的

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 17:40:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 17:40:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 17:40:01       82 阅读
  4. Python语言-面向对象

    2024-03-10 17:40:01       91 阅读

热门阅读

  1. 基于nodejs,使用playwright对网站进行爬虫

    2024-03-10 17:40:01       47 阅读
  2. Qt对话框介绍

    2024-03-10 17:40:01       39 阅读
  3. 【MacOS 上安装 Homebrew 】讲解

    2024-03-10 17:40:01       45 阅读
  4. Kubernetes(K8s)的架构与实现

    2024-03-10 17:40:01       46 阅读
  5. vue2和vue3

    2024-03-10 17:40:01       37 阅读
  6. 微信小程序返回上一页刷新组件数据

    2024-03-10 17:40:01       44 阅读
  7. (科目三)数据库基础知识

    2024-03-10 17:40:01       52 阅读
  8. MySQL用户创建和权限分配

    2024-03-10 17:40:01       45 阅读
  9. uniapp的扩展组件uni-popup 弹出层自动打开

    2024-03-10 17:40:01       43 阅读
  10. 秒杀的时候怎么使用Redis?

    2024-03-10 17:40:01       39 阅读
  11. 第二十六章 :Docker 内部 DNS 服务如何使用

    2024-03-10 17:40:01       38 阅读
  12. 智慧路灯物联网解决方案

    2024-03-10 17:40:01       49 阅读