大数据框架之hadoop:mapreduce(五)yarn资源调度器
时间: 2023-09-17 16:02:54 浏览: 203
YARN(Yet Another Resource Negotiator)是Hadoop v2版本中用于资源管理和任务调度的框架。在Hadoop v1版本中,资源管理和任务调度是由MapReduce框架本身完成的,这导致了一些问题,例如任务难以弹性调度、资源利用率低等。
YARN的出现解决了这些问题。它的工作方式是将资源管理和任务调度分离开来。YARN有三个核心组件:ResourceManager、NodeManager和ApplicationMaster。
ResourceManager是整个集群的主要协调者,负责集群资源的管理和分配。它接收来自客户端的资源请求,并根据资源容量和使用情况进行调度。ResourceManager为每个应用程序分配一个ApplicationMaster。
NodeManager是每个节点上的代理程序,负责与ResourceManager通信,并管理本地节点的资源。它监测节点上的资源使用情况,并将这些信息报告给ResourceManager,同时启动和监控容器世界。
ApplicationMaster是每个应用程序的主管,负责与ResourceManager通信,申请资源并监控任务的执行。它将任务分成多个容器,并向NodeManager发送容器启动请求。一旦容器启动,ApplicationMaster就会监控这些任务的执行情况,并向ResourceManager报告任务的状态。
YARN的资源调度器是通过使用调度器插件实现的。YARN提供了多个调度器插件,例如先进先出调度器、容量调度器和公平调度器等。这些调度器插件可以根据应用程序的资源需求、业务优先级和集群资源的配置来灵活地分配和管理资源,从而实现更高的资源利用率和更好的任务调度性能。
总的来说,YARN的资源调度器是Hadoop框架中的一个重要组件,它通过将资源管理和任务调度分离,实现了更好的弹性和资源利用率,为大数据处理提供了更高的效率和可靠性。
阅读全文