gpt4 book ai didi

Hadoop 安全

转载 作者:可可西里 更新时间:2023-11-01 14:17:30 34 4
gpt4 key购买 nike

Scenario : - User logs on to his computer gets authenticated by Kerberos Authentication and  submits a map reduce job

我正在尝试学习“如何在 Hadoop 中实现 Kerberos?”我已经看过这个文档 https://issues.apache.org/jira/browse/HADOOP-4487我还了解了基本的 Kerberos 内容 ( https://www.youtube.com/watch?v=KD2Q-2ToloE )

从这些资源中学习后,我得出了一个结论,我通过图表表示了这一点。场景:- 用户登录到他的计算机获得 Kerberos 身份验证的身份验证并提交 map reduce 作业(请阅读图表的描述它几乎不需要你 5 分钟的时间)我想解释图表并提出与几个步骤相关的问题(粗体)黄色背景中的数字代表整个流程(数字 1 到 19)DT(红色背景)代表Delegation TokenBAT(绿色背景)代表区 block 访问 token JT(棕色背景)代表Job Token

步骤 1、2、3 和 4 代表:-请求 TGT(票证授予票证)请求名称节点的服务票证。问题1)KDC应该放在哪里?它可以在我的名称节点或作业跟踪器所在的机器上吗?

步骤 5、6、7、8 和 9 代表:-向名称节点出示服务票据,获得确认。Name Node 会发行一个 Delegation Token(红色)用户将告知 token 更新器(在本例中为 Job Tracker)

问题 2) 用户将此委托(delegate) token 连同作业一起提交给 Job Tracker。 Delegation Token 会与 Task tracker 共享吗?

步骤 10、11、12、13 和 14 代表:-向 Job tracker 索取服务票,从 KDC 获取服务票向 Job Tracker 出示此票并从 JobTracker 获得 ACK将 Job + Delegation Token 提交给 JobTracker。

步骤 15、16 和 17 代表:-生成 block 访问 token 并分布在所有数据节点上。将 blockID 和 Block Access Token 发送给 Job Tracker,Job Tracker 会将其传递给 TaskTracker

问题 3)谁会向名称节点请求 BlockAccessToken 和 Block ID?JobTracker 或 TaskTracker

对不起,我错漏了 18 号。Step19 代表:-作业跟踪器生成作业 token (棕色)并将其传递给任务跟踪器。

问题 4)我能否得出结论,每个用户将有一个委托(delegate) token ,该 token 将分布在整个集群中,并且每个工作会有一个工作 token ?因此,用户将只有一个 Delegation Token 和许多 Job Token(等于他提交的 Job 数量)。

如果我遗漏了什么或者我在解释中的某个地方有误,请告诉我。

最佳答案

确保 Hadoop 安全的步骤

  1. 在所有集群节点均可访问的任何服务器中安装 Kerberos。yum 安装 krb5-serveryum 安装 krb5-workstationyum 安装 krb5-libs

  2. 修改 KDC 服务器配置中的配置文件,为主机设置 acl 文件、管理 key 表文件。/var/kerberos/krb5kdc/kdc.conf

  3. 修改配置文件/etc/krb5.conf以设置kdc主机和管理服务器

  4. 在 KDC 主机中创建数据库

    $ kdb5_util 创建-r 主机名-s

  5. 将管理员添加到 ACL 文件

    1. vi/etc/kdamin.acl
    2. 在该文件中添加管理员主体“admin/admin@host_name”
  6. 添加管理员主体$addprinc admin/admin@host_name

在所有集群节点上安装 Kerberos 客户端

yum 安装 krb5-workstation

复制krb5.conf到所有集群节点

确保通过设置所需的配置在 Hadoop 中启用安全模式 https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SecureMode.html

验证:

  • 以普通用户身份登录集群网关或部署用户 key 表的节点
  • 运行“kinit –k –t/location/of/keytab file username@host_name”
  • 并运行 HDFS 命令或 mapreduce 作业以验证集群是否安全

这些是确保在集群中启用 kerberos 的基本步骤。

关于Hadoop 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15140339/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com