Yarn框架:
YARN的基本思想是将资源管理和作业调度/监控的功能分解为单独的守护进程。有一个全局的ResourceManager(RM)和每个应用程序的ApplicationMaster(AM)。应用程序可以是单个作业,也可以是DAG作业。
ResourceManager是仲裁系统中所有应用程序之间资源的最终权威机构。NodeManager是负责容器的每机器框架代理,监视它们的资源使用情况(cpu,内存,磁盘,网络),并将其报告给ResourceManager / Scheduler。Scheduler负责将资源分配给各种正在运行的应用程序,这些应用程序受到容量,队列等熟悉的限制。Scheduler是纯调度程序,因为它不会监视或跟踪应用程序的状态。
ApplicationsManager负责接受作业提交,协商执行特定于应用程序的ApplicationMaster的第一个容器,并提供失败时重新启动ApplicationMaster容器的服务。每个应用程序的ApplicationMaster负责从调度程序中协商适当的资源容器,跟踪其状态并监视进度。
资源预留通过ReservationSystem,即允许用户在指定时间资源和时间的限制(例如,截止日期),以及后备资源的配置文件,以确保重要jobs.可预见的执行组件ReservationSystem跟踪资源过时,对预留执行准入控制,并动态指示底层调度程序确保预留满员。
为了将YARN扩展到几千个节点之外,YARN 通过YARN Federation功能支持联邦的概念。联邦允许透明地将多个yarn(子)群集在一起,并使它们看起来像一个单一的大型集群。这可以用于实现更大规模,和/或允许将多个独立的群集一起用于非常大的工作,或者对于所有人都具有容量的租户。
Yarn基本命令(用户命令和管理员命令):
YARN命令由bin / yarn脚本调用。运行没有任何参数的yarn脚本会打印所有命令的描述。
用法:yarn [--config confdir] COMMAND[--loglevel loglevel] [GENERIC_OPTIONS] [COMMAND_OPTIONS]
YARN有一个选项解析框架,它使用解析通用选项以及运行类。
COMMAND_OPTIONS |
描述 |
- 配置confdir |
覆盖默认的配置目录。缺省值是$ {HADOOP_PREFIX} / conf。 |
--loglevel loglevel |
覆盖日志级别。有效的日志级别是FATAL, ERROR, WARN, INFO, DEBUG, and TRACE. 。默认是INFO。 |
GENERIC_OPTIONS |
多个命令支持的一组常用选项。有关更多信息,请参阅Hadoop |