Hadoop资源管理器 二

NMLivelinessMonitor :用来监控节点管理器是否正常,如果节点10分钟「可配置」之内未能发送心跳信息,节点管理器将会判定死亡,下一次将不会启动新的容器
YARN.am.liveness-monitor.expiry-interval-ms
此命令可以配置发送心跳信息的时间间隔

Application master component:
AMlivelinessMonitor:监控应用程序管理器,也是在默认情况(10分钟)下,向资源管理器发送心跳信息,来判定应用程序是否正常,如果判定死亡,资源管理器将会把死掉的应用程序管理器销毁回收,并且创建新的容器与管理器,这个过程将会重复四次,如果四次都未成功,将会通知管理客户端!

ApplicationMasterService:
所有Application master的请求都是由这个服务进行注册和回应管理,或者转发给YARN

Node manager core

节点管理器中的组件
向资源管理器定期发送(心跳 详细)信息
Resource manager component

  • NodeStatusUpdater 定期向资源管理器发送信息
  • NodeHealthCheckerService 不停的检查自身信息,将其汇报给NodeStatusUpdater
    Container component/容器内部组件
  • ContainerManager将受到的请求发送给ContainerLauncher,受到指令后进行动作
  • ContainerMonitor:监控到重要信息 信息将会在调试过程中使用 调试:内存 cpu 硬盘等硬件信息,并进行调优
  • LogHandler:将会处理与保存容器运行过程中的日志 可以进行指定

YARN 为了高效的进行生产

  • FIFO scheduler 先来先到
  • Capacity scheduler 容量调度
  • Fair scheduler 公平调度

进程细分为线程 线程共享进程的内存
任务庞大的情况下,可以分配多个进程共完成一个任务,属于分布式

调度器

可以在YARN-site.xml中指定调度器

FIFO scheduler

按照程序启动的先后顺序进行分配 先到的申请的内存充足 如果不足无法达到申请的预期则会继续等

Capacity scheduler

确保最小使用量 如果内存有64G 现在有一个64m的服务启动,在空闲或没有别的服务启动的情况下 那么将会把64G的内存全部分配,如果此时有新的服务启动,将会压缩第一个的内存,确保最小使用,如果在确保最小使用量的情况下,内存不足以让后面的程序运行,后面的程序则会进行等待,等待第一个完成!

队列划分 将资源按照一定比例进行划分 如果目前有AB两个队列申请资源,则会分配60%系统资源给A 剩下40%资源分配给B
如果此时有队列C 则会将队列A的资源进行压缩

Fair scheduler/公平调度

最后修改:2021 年 04 月 21 日 09 : 46 AM
如果觉得我的文章对你有用,请随意赞赏