当前位置: 首页 > news >正文

怎么做招投标网站百度中心人工电话号码

怎么做招投标网站,百度中心人工电话号码,网站301在哪里做,WordPress实现点击加载评论1 概述 为了增大并发性#xff0c;Yarn采用事件驱动的并发模型#xff0c;将各种处理逻辑抽象成事件和调度器#xff0c;将事件的处理过程用状态机表示。什么是状态机#xff1f; 如果一个对象#xff0c;其构成为若干个状态#xff0c;以及触发这些状态发生相互转移的事…1 概述     为了增大并发性Yarn采用事件驱动的并发模型将各种处理逻辑抽象成事件和调度器将事件的处理过程用状态机表示。什么是状态机     如果一个对象其构成为若干个状态以及触发这些状态发生相互转移的事件那么此对象称之为状态机。     处理请求作为某种事件发送到系统中由一个中央调度器传递给对应的事件调度器进而对事件进行处理处理完成之后再次发送给中央调度器再进行处理直至处理完成。     Yarn的资源管理模块ResourceManager其核心构成就是四类这样的状态机(基于2.4版本)分别是: (1)RMApp:用于维护一个Application的生命周期 (2)RMAppAttempt:用于维护一次试探运行的生命周期 (3)RMContainer:用于维护一个已分配的资源最小单位Container的生命周期 (4)RMNode:用于维护一个NodeManager的生命周期     以上四个状态机以继承了EventHandler 的Interface的形式存在于Yarn源码的org.apache.hadoop.yarn.server.resourcemanager中。其具体实现类则是对应的xxxImpl类。     提交到Yarn中的应用程序被称为Application它可能会尝试运行多次每次的尝试运行称为“Application Attempt”如果一次尝试运行失败则由RMApp创建另一个继续运行直至达到失败次数的上限。Container是运行环境的抽象概念无论是ApplicationMaster还是具体的每个Task都得运行在Container中。 2 RMApp状态机     此状态机的具体实现类为org.apache.hadoop.yarn.server.resourcemanager.rmapp. RMAppImpl。其内部记录了一个Application的所有状态RMAppState(共11种)、触发状态间转换的事件RMAppEvent(共14种)、Application的其他基本信息等。其功能就是接收其他对象发出的RMAppEventType类型的事件然后根据当前状态和事件类型将当前状态转移到另外一种状态同时触发一种行为。     下图是RMApp的状态转换图。         其中NEW_SAVING状态指的是使用日志记录Application基本信息时所处的状态这是RM收到Application时所做的第一件事情以便故障后重启。接收到RECOVER重启事件后可以从NEW状态直接转变为SUBMITTED、ACCEPTED、FINISHED、FAILED、KILLED、FINAL_SAVING状态但是默认情况下Recover是不开启的可以通过参数yarn.rsourcemanager.recovery.enabled设置。     APP_REJECTED事件触发的情况比较多客户端在提交Application时如果发生异常、RM审核Application不合法等均会触发。     Application运行失败的情况也比较多但是ATTEMPT_FAILED事件被触发后不一定直接转入FAILED系统会检查当前Application的失败次数是否达到上限如果没有的话会重新创建一个RMAppAttemptImpl对象并让状态机回到ACCEPTED状态否则进入FINAL_SAVING进而进行失败处理比如释放资源等。 3 RMAppAttempt状态机 此状态机的具体实现类为org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl。其内部记录了一个Application Attepmt的所有状态RMAppAttemptState (共13种)、触发状态间转换的事件RMAppAttemptEvent(共15种)等。其功能就是接收其他对象发出的RMAppAttemptEventType类型的事件然后根据当前状态和事件类型将当前状态转移到另外一种状态同时触发一种行为。     下图是RMAppAttempt的状态转换图。      其中RMAppAttemptImpl被创建之后ResourceManager将其加入到ResourceScheduler中通过合法性检查后的状态就是SCHEDULERED此时开始给ApplicationMaster分配资源。在接收到分配的一个Container资源后将Container信息写到磁盘以后故障恢复用保存完成之前的状态变为ALLOCATED_SAVING保存完毕了状态就变为ALLOCATED。 接着ResourceManager中的ApplicationMasterLauncher与对应的NodeManager通信进行启动ApplicationMaster此时状态变为LAUNCHED启动完成之后ApplicationMaster立即向ResourceManager注册状态变为RUNNING。 同时由于Yarn允许ApplicationMaster启动在客户端比如Spark的yarn-client模式此时仍然需要记录ApplicationMaster的日志以便进行故障恢复正在进行记录日志的RMAppAttemptImpl所处的状态就是LAUNCHED_UNMANAGED_SAVING至于RECOVER与前面的RMApp状态机类似。 还有几个比较重要的事件 (1)CONTAINER_ALLOCATEDRresourceManager将某个NodeManager节点上的Container分配给RMAppAttemptImpl之后会创建一个RMContainerImpl(后文会讲)并向该对象发送一个启动事件进而向RMAppAttemptImpl发送一个CONTAINER_ALLOCATED事件此时RMAppAttemptImpl将获取分配到的Container资源并发起一个日志记录的事件将资源分配的信息写到磁盘以便进行故障恢复。 (2)UNREGISTERED当ApplicationMaster运行完成之后会通知ResourceManagerResourceManager接受到通知后会发送一个UNREGISTERED事件给RMAppAttemptImpl进而进入FINISHING状态等待Container退出后资源被回收再变为FINISHED状态。但是如果ApplicationMaster是由客户端自行启动的收到UNREGISTERED事件后会直接变为FINISHED状态。 (3)CONTAINER_FINISHED当ApplicationMaster所在的Container退出后大当前NodeManager节点会将其状态汇报给ResourceManager这时ResourceManager会发出一个FINISHED事件给RMContainerImpl它再发出一个CONTAINER_FINISHED事件给RMAppAttemptImpl。 (4)EXPIRE若ApplicationMaster一段时间内未汇报心跳则ResourceManager会发出一个EXPIRE事件给RMAppAttemptImpl会清理ApplicationMaster和Container。 (5)CONTAINER_ACQUIREDApplicationMaster获得资源后向Container发出通知RMContainerImpl接受到通知后进而向RMAppAttemptImpl发出CONTAINER_ACQUIRED事件RMAppAttemptImpl将NodeManager信息保存便于后面进行Container的清理。 (6)STATUS_UPDATE:ApplicationMaster向ResourceManager的心跳汇报。 4 RMContainer状态机 此状态机的具体实现类为org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainerImpl。其内部记录了一个Container的所有状态RMContainerState (共9种)、触发状态间转换的事件RMContainerEvent (共8种)等。其功能就是接收其他对象发出的RMContainerEventType类型的事件然后根据当前状态和事件类型将当前状态转移到另外一种状态同时触发一种行为。     下图是RMContainerImpl的状态转换图。       当一个NodeManager上的资源不足以满足当前一个Application的请求却有不得不分配给这个Application时当前节点会为此Application预留资源逐渐累加空余的剩余资源直至满足要求后才把资源封装成一个Container发给ApplicationMaster。如果一个Container已经被创建并且处在剩余资源的累加过程中它就处于上图中的RESERVED状态。当此Container已经分配给ApplicationMaster并且此时ApplicationMaster还没发送通知说它已经得到了资源时此Container处于ALLOCATED状态直至ApplicationMaster发送通知给ResourceManager说它已经拿到了资源则状态变为ACQUIRED。 之后ApplicationMaster与NodeManager通信来启动这些Container并且NodeManager会将Container的状态通过心跳报告给ResourceManagerResourceManager则对收到的心跳的每个Container发送一个LAUNCHED事件RMContainerImpl将收到事件对应的Container从失效列表中移除表示Container状态正常。如果一段时间内ApplicationMaster都没有使用某个Container则ResourceManager对此Container发出EXPIRE事件进行资源回收。 5 RMNode状态机     此状态机用于维护一个NodeManager的生命周期其实现类是org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeImpl记录了NodeManager节点的各个状态NodeState (共6种)以及触发状态转换的事件RMNodeEvent(共9种)状态转换的同时会触发一种行为。     下图是RMNodeImpl的状态转换图。   其中如果一个NodeManager节点被加入到黑名单则其状态会被置为DECOMMISHONED状态即下线状态进而NodeManager进程会退出。若当前NodeManager节点处于UNHEALTHY状态不健康了(比如磁盘损坏)则会通过心跳通知给ResourceManagerResourceManager将不再为此节点分配新的任务向ResourceManager的心跳报告丢失之后NodeManager变为LOST状态。 当Application执行完成之后会触发CLEANUP_APP事件用于清理程序所占用的内存而一个Container执行完成的时候会触发CLEANUP_CONTAINER事件用于清理Container占用的资源。若一个NodeManager重复向ResourceManager注册则ResourceManager会触发一个RECONNECTED事件RMNodeImpl收到事件通知后更新自身的信息。 ------------------------------------------------------------------------------- 如果您看了本篇博客,觉得对您有所收获请点击右下角的 [推荐] 如果您想转载本博客请注明出处 如果您对本文有意见或者建议欢迎留言 感谢您的阅读请关注我的后续博客 转载于:https://www.cnblogs.com/Scott007/p/3893318.html
http://www.sadfv.cn/news/9050/

相关文章:

  • 公司网站建设需要注意哪些内容马鞍山哪里做网站
  • 京华建设科技有限公司网站广州app开发团队
  • 网站建设软件培训学校跨境电商网站排行榜
  • 长沙公司网站制作学做宝宝辅食的网站
  • 做图片视频的网站vs2008做网站教程
  • 什么网站利于优化建立公司网站
  • 手机网站的做wordpress搜索引擎主题
  • 如何安装网站程序中和seo公司
  • 简述建设iis网站的基本过程6深圳禅城网站设计
  • 广东手机网站制作公司怎样做网络推广甄选广州豪升网络
  • 企业公司网站制作建设在线数据分析网站
  • jsp做网站实例辽宁企业网站建设
  • 天天做网站广西南宁市网站制作公司
  • 企业内部网站制作psd网页模板免费下载
  • 福田网站建设方案费用泊头公司做网站
  • 怎样查看网站开发语言中国万网提供的服务和收费情况
  • 网站的规划与建设案例分析为什么建设旅游网站
  • 理财网网站开发源码h5wordpress近期文章
  • 湖北洲天建设集团有限公司网站网站建设对策
  • 某网站注册需要邮箱是怎么弄免费带后台的网站模板
  • 在哪进入网站后台西安好的互联网设计公司
  • 建物流网站温州市城市建设学校网站
  • 莱州网站建设关键字排名优化网络托管微信代运营网站开发的感想
  • 临沂网站制作案例网站服务器++免费
  • 做网站用框架么网站系统建设合同
  • 优惠券网站怎么做的软件外包公司排名前十名
  • 哪个网站做的ppt模板好有没有一种网站做拍卖厂的
  • 买源码的网站青岛网站建设模板下载
  • 西安建设厅网站网站建设平台分析
  • 佛山网站建设佛山网络推广自贡建设机械网站