【大数据学习 | 面经】yarn的资源申请和分配的单位-Container

在yarn中,资源的申请和分配是以container为单位进行的,而不是直接以application和task为单位。

每个提交到yarn上的应用程序(application)都有一个对应的ApplicationMaster(AM)。这个AM负责与ResourceManager(RM)通信,以请求容器(containers),这些容器用于运行应用程序的任务(tasks)。因此,虽然资源是以container为单位进行申请的,但这是在application级别进行管理的,并且是为了执行特定的tasks。

应用程序提交的具体流程:

  1. 用户提交一个application到yarn集群。
  2. ResourceManager启动该application的ApplicationMaster。
  3. ApplicationMaster根据application的需求,向ResourceManager请求所需要的资源(以containers的形式)。
  4. 一旦ResourceManager分配了container,ApplicationManager就可以在这些container中启动tasks执行。

总结就是:application申请和资源分配的单位是container,整个执行过程是application驱动,并且是为了满足task的执行需求。

你可能感兴趣的:(大数据,yarn,hadoop,hbase,hive)