hadoop yarn应用程序开发要点

yarn应用程序比如MapReduce,spark等都是运行于yarn资源管理器上面的应用程序,这些运行于yarn上的应用程序的开发都是类似的,以下介绍下开发运行于yarn上面的自定义应用程序的要点:
一 客户端的开发
客户端的开发的主要目的是和yarn的ResourceManager建立联系,把ApplicationMaster需要的内存和环境变量等配置告知ResourceManager,等待ResourceManager分配Container来运行ApplicationMaster应用程序,客户端伪代码如下:
1.1 创建到ResourceManager的客户端连接
1.2 设置应用程序的程序名称,要提交到的queue名称,AM容器所需的内存大小,所需的worker容器的数量和内存大小
1.3 设置AM环境变量配置,AM的jar包的路径,然后就可以通过和ResourceManager建立的连接提交应用程序了.
1.4 提交应用程序后,客户端通过运行一个while循环来定时的获取应用程序的状态,直到应用程序成功完成
二 ApplicationMaster的开发
ApplicationMaster启动之后会向ResourceManager注册自己,并维持和ResourceManager之间的心跳信息,然后ApplicationMaster会像ResourceManager申请Container资源,当收到ResourceManager的资源申请应答后,会和对应的NodeManager进行通信以便启动Container,ApplicationMaster的伪代码如下:
2.1 ApplicationMaster向ResourceManager注册自己,注册自己时要把ApplicationMaster所在的主机名,端口号,已经tracing url告诉ResourceManager,tracing url是yarn web界面上显式给用户,供用户查询应用程序状态时使用的
2.2. ApplicationMaster根据所需的Container的数量和内存大小,构造ResourceRequest类对象向ResourceManager申请容器资源
2.3 当ApplicationMaster收到ResourceManager的资源响应应答时,会和NodeManager建立连接,并把启动Container的命令和内存大小等参数通知给NodeManager,这样NodeManager就会启动Container来完成任务了.
hadoop2的yarn的职责明确为仅仅只是资源的管理者,它不再管理应用程序的状态信息,这些应用程序的状态信息的管理由ApplicationMaster自己负责,这样职责明确之后,yarn就可以为同时为众多的应用程序提供资源管理的服务了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值