首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

走进大数据 YARN

概念

YARN是一种新的Hadoop资源管理器,它是一个通用的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

内部组件

Client:负责提交应用程序。

ResourceManager:全局的资源管理器, 整个集群只有一个, 负责集群资源的统一管理和调度分配。

ApplicationMaster:在yarn上运行的应用程序实例对象,负责管理此应用程序的执行。

功能:

1. 数据切分;

2. 为应用程序申请资源, 和进一步分配;

3. 任务监控和容错处理;

NodeManager:整个集群有多个, 负责本节点的资源管理和使用, NodeManager管理抽象容器container。

功能:

1. 单个节点上的资源管理和任务管理;

2. 处理来自 ResourceManager 的命令;

3. 处理来自 ApplicationMaster 的命令;

Container:yarn中对资源的抽象, 封装本节点上的内存,cpu,磁盘,网络等资源, 此资源就是用container表示。

工作流程

1. client端向ResourceManager提交应用程序, 也就是client端会将 jar包,参数等数据上传到hdfs上的某路径下。

2. resourceManager将此应用程序添加到任务队列中。

3. 等待资源充沛时, resourceManager为该应用程序分配第一个container,在这个container中启动应用程序的ApplicationMaster。

4. ApplicationMaster首先向ResourceManager注册,用户可以直接通过ResourceManager查看应用程序的运行状态, 还会进行分片等工作, 之后向ResourceManager申请运行任务所需的资源。

5. ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源, 发送命令让NodeManager创建container, 之后执行task。

6. ApplicationMaster监控job执行作业, 必要时候进行容错处理, 直到ApplicationMaster检测到job完成后, 向ResourceManager通知, 注销自己。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191127A0JBMW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券