yarn有哪些安全机制

yarn的安全机制:1、Hadoop 2.0认证机制;2、Hadoop 2.0授权机制。Hadoop 2.0中的认证机制采用Kerberos和Token两种方案,Delegation Token方案开销较小。

yarn有哪些安全机制-Worktile社区

1、Hadoop 2.0认证机制

在Hadoop中,Client与NameNode和Client与ResourceManager之间初次通信均采用了Kerberos进行身份认证,之后便换用Delegation Token以较小开销,而DataNode与NameNode和NodeManager与ResourceManager之间的认证始终采用Kerberos机制,默认情况下,Kerberos认证机制是关闭的,管理员可通过将参数hadoop.security.authentication设为“kerberos”(默认值为“simple”)启动它。接下来重点分析Hadoop中Token的工作原理以及实现。

Hadoop中Token的定义在org.apache.hadoop.security.token.Token中,每类Token存在一个少数TokenIdentifier标识,Token主要由下表列出的几个字段组成:

  • ResourceManager Delegation Token

ResourceManager Delegation Token是ResourceManager授权令牌,持有该令牌的应用程序及其发起的任务可以安全地与ResourceManager交互,比如持有该令牌的MapReduce作业可以在Task中再次向ResourceManager提交一个或者多个作业,进而形成一个MapReduce工作流,Hadoop生态系统中的工作流引擎Oozie正是采用了该策略。该令牌由ResourceManager中的组件RMDelegationTokenSecretManager管理和维护。

  • YARN Application Token

Application Token用于保证ApplicationMaster与ResourceManager之间的通信安全。该Token的密钥(masterKey)由ResourceManager传递给NodeManager,并保存到ApplicationMaster Container的私有目录下。当NodeManager启动ApplicationMaster时,所有的Token将被加载到ApplicationMaster的UGI中(NodeManager通过环境变量HADOOP_TOKEN_FILE_LOCATION将Token所在目录传递给UGI,这样UGI可以直接从文件中读取Token信息,所有其他Token的传递过程也是一样的),以在与ResourceManager通信时进行安全认证,需要注意的是,该Token的生命周期与ApplicationMaster实例一致。该Token由ResourceManager中的AMRMTokenSecretManager管理和维护。

  • YARN NodeManager Token

ApplicationMaster与NodeManager通信时,需出示NodeManager Token以表明ApplicationMaster自身的合法性。该Token是由ResourceManager通过RPC函数ApplcationMasterProtocol#allocate的应答中发送给ApplicationMaster的,它的密钥是各个NodeManager向ResourceManager注册(ResourceTracker#registerNodeManager)和发送心跳信息(ResourceTracker#nodeHeartbeat)时领取的。ApplicationMaster通过ContainerManagementProtocol协议与NodeManager通信时,需要出示该Token。该Token由ResourceManager中的NMTokenSecretManagerInRM管理和维护。

  • YARN Container Token

ApplicationMaster与NodeManager通信启动Container时,需出示Container Token以表明Container的合法性。该Token是由ResourceManager通过RPC函数ApplcationMasterProtocol#allocate的应答存放到Container中发送给ApplicationMaster的,它的密钥是各个NodeManager向ResourceManager注册和发送心跳信息时领取的。ApplicationMaster通过RPC函数ContainerManagementProtocol#startContainer与NodeManager通信启动Container时,需要出示相应的Container Token。该Token由ResourceManager中的RMContainerTokenSecretManager管理和维护。

  • YARN Localizer Token

Localizer Token用于保证ContainerLocalizer与NodeManager之间的通信安全。ContainerLocalizer负责在任务运行之前从HDFS上下载各类所需的文件资源,以构建一个本地执行环境,在文件下载过程中,ContainerLocalizer通过RPC协议LocalizationProtocol不断向NodeManager汇报状态信息。文件下载(也称为“本地化”)相关内容将在第7章介绍。

  • MapReduce Client Token

MapReduce Client Token用于保证MapReduce JobClient与MapReduce Application Master之间的通信安全。它由ResourceManager在作业提交时创建,并通过RPC函数ApplicationClientProtocol#getApplicationReport发送给JobClient。该Token由ResourceManager中的ClientToAMTokenSecretManagerInRM管理和维护。

  • MapReduce Job Token

MapReduce Job Token用于保证MapReduce的各个Task(包括Map Task和Reduce Task)与MapReduce Application Master之间的通信安全。它由ApplicationMaster创建,通过RPC函数ContainerManagementProtocol#startContainer传递给NodeManager,并由NodeManager写入Container的私有目录中,以在任务启动时加载到UGI中,从而使得任务可以安全地通过RPC协议TaskUmbilicalProtocol与ApplicationMaster通信。

  • MapReduce Shuffle Secret

MapReduce Shuffle Secret用于保证运行在各个NodeManager上的ShuffleHandler(内部封装了一个Netty Server)与Reduce Task之间的通信安全,即只有同一个作业的Reduce Task才允许读取该作业Map Task产生的中间结果,该安全机制是借助Job Token完成的。

2、Hadoop 2.0授权机制

Hadoop YARN的授权机制是通过访问控制列表(ACL)实现的,按照授权实体,可分为队列访问控制列表、应用程序访问控制列表和服务访问控制列表。

在正式介绍YARN授权机制之前,先要了解HDFS的POSIX风格的文件访问控制机制,这与当前Unix的一致,即将权限授予对象分为用户、同组用户和其他用户,且可单独为每类对象设置一个文件的读、写和可执行权限。此外,用户和用户组的关系是插拔式的,默认情况下共用Unix/Linux下的用户与用户组对应关系,这与YARN是一致的。

  • 队列访问控制列表

为了方便管理集群中的用户,YARN将用户/用户组分成若干队列,并可指定每个用户/用户组所属的队列。通常而言,每个队列包含两种权限:提交应用程序权限和管理应用程序权限(比如杀死任意应用程序),这些是通过配置文件etc/hadoop/mapred-queue-acls.xml设置的。

  • 应用程序访问控制列表

应用程序访问控制机制的设置方法已经在5.5节进行了介绍,主要方法是在客户端设置为每类ApplicationAccessType(目前只有VIEW_APP和MODIFY_APP两种类型)设置对应的用户列表,这些信息传递到ResourceManager端后,由它维护和使用。通常而言,为了用户使用方便,应用程序可对外提供一些特殊的可直接设置的参数(而不是通过API设置),以MapReduce作业为例,用户可以通过参数mapreduce.job.acl-view-job和mapreduce.job.acl-modify-job为每个作业单独设置查看和修改权限。需要注意的是,默认情况下,作业拥有者和超级用户(可配置)拥有以上两种权限且不可以修改。

  • 服务访问控制列表

服务访问控制是Hadoop提供的最原始的授权机制,它用于确保只有那些经过授权的客户端才能访问对应的服务。比如可通过为ApplicationClientProtocol协议设置访问控制列表以指定哪些用户可以向集群中提交应用程序。服务访问控制是通过控制各个服务之间的通信协议实现的,它通常发生在其他访问控制机制之前,比如文件权限检查、队列权限检查等。

延伸阅读

YARN是什么

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

文章标题:yarn有哪些安全机制,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/35588

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLWZ, ZLW认证作者
上一篇 2023年1月15日 下午8:10
下一篇 2023年1月15日 下午8:31

相关推荐

  • java newCachedThreadPool线程池使用在什么情况下

    java newCachedThreadPool线程池的使用情况:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 一、Java线程池 Java通过Executors提供四种线程池,分别为: 1、newCachedT…

    2023年2月9日
    50600
  • 功能需求中 System Feature 的优先级是什么意思

    功能需求中 System Feature 的优先级是指功能需求中系统特性的优先级,系统特性是指一组逻辑上相关的功能需求,它们为用户提供某项功能,满足业务目标,所以系统特性的优先级是指一组逻辑上相关的功能需求的优先级,优先级高的先做,优先级低的后做。 一、功能需求 功能需求(functional re…

    2023年1月2日
    62100
  • oa的软件

    OA系统软件能够改进办公室管理、提升效率、简化流程, 推动资源共享、方便数据分析、增强通讯互动、提升安全保密。一、推动资源共享:通过集中管理,使得文件和资料可以在有权限的员工之间方便共享。 一、概览 办公自动化(OA)软件是设计用于企业和组织内部提高工作效率的应用程序。此类软件集成了多项功能,旨在简…

    2024年1月11日
    13300
  • oa系统的office插件

    标题:探究OA系统的Office插件 OA系统中的Office插件1、提高工作效率;2、实现数据的无缝交互;3、支持多种文件格式操作。这些插件使文档处理变得更加高效与便捷。具体而言,提高工作效率的作用体现在:减少了在不同软件之间切换的时间,用户可以直接在OA系统界面中编辑、保存和管理Office文件…

    2024年1月15日
    29400
  • 如何理解“转移学习”在AI中的作用

    在人工智能领域,“转移学习”作为一项高效的学习方式,其核心优势在于利用已有知识促进新任务的学习和降低数据需求。转移学习的核心观点主要包括:1、知识迁移性、2、模型泛化能力提升、3、学习效率改进和4、数据利用最大化。通过这一技术,可以将一个领域已经学习到的知识迁移到另一个领域,特别是在新任务的数据较少…

    2023年11月24日
    25100
  • 如何快速编写测试用例

    步骤:一、确定测试目标;二、确定测试类型;三、确定测试覆盖范围;四、确定测试条件;五、设计测试用例;六、执行测试用例;七、评估测试结果。在设计测试用例之前,需要明确测试目标。测试目标一般是根据软件需求或者用户需求来确定的。 一、确定测试目标 在设计测试用例之前,需要明确测试目标。测试目标一般是根据软…

    2023年3月21日
    33000
  • PRINCE2和PMP有什么区别

    PRINCE2和PMP的区别有:1、定义与来源;2、侧重点;3、认证要求;4、考试内容;5、流行度与认可度;6、适用范围。其中,PRINCE2更多地关注项目管理的过程,而PMP则涵盖了项目管理的广泛知识领域。 1、定义与来源 PRINCE2 (Projects IN Controlled Envir…

    2023年7月30日
    43500
  • oa联盟是哪几家船公司

    船运界的OA联盟在全球航运业扮演着关键角色,成员包括海洋网络快线(ONE)、地中海航运公司(MSC)、马士基航运(MAERSK)以及赫伯罗特(Hapag-Lloyd)。船公司组成联盟以提高资源共享的效率、优化航线网络,且在商业运作中实现规模的经济。海洋网络快线(ONE)的成立背后是三家亚洲船运巨头的…

    2024年1月11日
    33300
  • CDN有哪些优点

    CDN有5大优点:1、本地Cache加速,提高了企业站点(尤其h含有大量图片和静态页面站点)的访问速度;2、 跨运营商的网络加速,保证不同网络的用户都得到良好的访问质量;3、远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器; CDN的5大优点: (1)本地Cache加速,提高了企业站点…

    2022年10月12日
    45000
  • 网页制作涉及的三种技术是什么

    网页制作涉及的三种技术:1、HTML;2、CSS;3、JavaScript。HTML是指,超文本标记语言,标准通用标记语言下的一个应用。包括“头”部分(Head)、和“主体”部分(Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。 1、HTML HTML的全称为超文本标记语…

    2023年1月9日
    1.3K01

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部