分布式调度系统01-yarn
来源:互联网 发布:windows exp导出数据库 编辑:程序博客网 时间:2024/06/06 10:47
hadoop2.0开始使用yarn作为调度器。
ResourceManager:
启动阶段:
- 分支一:提供了备份状态format功能,删除RM已保存的某种RMStateStore状态,使用观察者模式将RMStateStare引起的状态变化通知到局部和全局观察者(目前观察者很少),在这一过程中有类对象级锁保证RMStateStore处理的正确性;
- 分支二:创建ResourceManager实例,使用 ShutdownHookManager类(调用JVM的registering shutdown hooks)加入shutdown的hook处理( 完成JVM Shutdown hook for CompositeService which will stop the give CompositeService gracefully in case of JVM shutdow. Here CompositeService is ResourceManager),启动ResourceManager服务;
- ResourceManager核心启动过程:
- 初始化内部状态信息;
- 初始化service(serviceInit()):Yarn中大部分service都继承自AbstractService或CompositeService(CompositeService也继承自AbstractService,主要是向上层调用做了次分层封装),主要方法是init(),start(),stop()提供了调用框架,框架包含service自己状态的检查和通知观察者状态的改变,具体处理逻辑由继承类实现;初始化使用init()函数完成需要service的初始化,包括:加载core-site.xml读取资源、用户、用户组、优先级等信息,加载yarn-site.xml读取资源等信息;登陆处理;包括RMActiveServices、AsyncDispatcher、AdminService、 RMApplicationHistoryWriter、 SystemMetricsPublisher在ResourceManager中的角色设定和初始化;创建 rm的dispatcher(AsyncDispatcher类:使用BlockingQueue及loop扫描队列实现异步调用)完成事件分发,事件注册后面在RMActiveServices类的serviceInit()中会提到,事件触发大多在之后调度器工作中,比如FairScheduler调用addApplication()时进行;
- 启动service(serviceStart()):根据HA配置确实是启动为备用态还是活动态;活动态会由RMActiveServices启动大量services;备用态会由RMActiveServices关闭大量services,然后再做一次初始化,但不启动services;
- 至此,ResourceManager的启动主流程介绍完了,下面会对启动的services做些介绍,后面大量内容都是深入主要的service内部剖析;
0 0
- 分布式调度系统01-yarn
- 分布式资源调度系统 YARN
- 分布式资源管理系统:YARN架构与应用
- clover分布式任务调度系统
- clover分布式任务调度系统
- 分布式调度系统的比较
- 分布式定时任务调度系统
- 分布式云调度处理系统
- 分布式系统开发调度技术
- 点我达分布式任务调度系统
- 企业级分布式任务调度系统介绍
- hadoop - hadoop2.6 伪分布式 - 全局配置 和 启用 YARN 进行任务调度与资源管理
- 04-天亮大数据系列教程之分布式资源管理与任务调度框架Yarn
- yarn任务调度
- yarn之调度
- yarn中的cgroup调度
- Yarn 调度器Scheduler
- Yarn 资源调度策略
- TortoiseGit
- linux文件系统
- jquery.cookie中的操作:
- 安卓设置沉浸式的方式---巨简单
- popen——C程序中获取Shell命令的输出
- 分布式调度系统01-yarn
- C#中接口的理解
- 云梦微信系统的一个坑
- JavaScript中的常见转义字符
- Java 线程池原理和队列详解
- iOS 获取摄像头视频
- Android MVP 项目分析
- Web Navigation_poj1028_模拟
- 个性化 圆形图片