如何正确理解yarn的容器?
How to understand the container of yarn correctlly?
我对yarn中container的概念很迷惑,不知道container是不是在schedule之前就已经确定了?或者它是在请求到达时动态创建的?或者它在节点管理器启动时初始化得很好?容器的大小是否在整个配置中是固定的? IE。符合AM的要求吗?
我有很多问题,先谢谢你了。
容器代表单个节点上的资源。
由节点管理器监督
由资源管理器安排
容器所代表的资源包括它需要的RAM,CPU的时钟周期,磁盘space等,简而言之就是执行MR作业所需的所有资源.
它是根据应用程序主机的请求创建容器的资源管理器。因此,当我们提交一个 Map Reduce 作业时,它是 application master 在该节点上的 map 任务或 reduce 任务将要 运行 确定资源需求,然后它向资源管理器发送请求以分配所需的容器该节点上的资源,然后资源管理器检查其可能性,一旦满意,它将分配容器,现在应用程序主机将将该容器(实际上这里的容器只是有关所需资源的信息)分配给节点管理器。然后节点管理器将创建这个容器,最后,我们的作业将在其中执行。
现在开始回答你的问题,虽然我确信我现在已经回答了大部分问题,
虽然不清楚你说的是哪个调度,但我假设在我们提交作业时是一个容器。
是的,它们又是动态创建的,不清楚你说的是哪个请求,但我想我已经回答了创建它的请求,它是从应用程序主管到资源管理器的请求
不,容器的大小不固定。这取决于您的 Map Reduce 作业。
我希望这能回答您的所有问题
但是,我还是强烈建议你去看看this link,这样你会更清楚。
如果您还有任何疑问,请告诉我。
我对yarn中container的概念很迷惑,不知道container是不是在schedule之前就已经确定了?或者它是在请求到达时动态创建的?或者它在节点管理器启动时初始化得很好?容器的大小是否在整个配置中是固定的? IE。符合AM的要求吗? 我有很多问题,先谢谢你了。
容器代表单个节点上的资源。
由节点管理器监督
由资源管理器安排
容器所代表的资源包括它需要的RAM,CPU的时钟周期,磁盘space等,简而言之就是执行MR作业所需的所有资源.
它是根据应用程序主机的请求创建容器的资源管理器。因此,当我们提交一个 Map Reduce 作业时,它是 application master 在该节点上的 map 任务或 reduce 任务将要 运行 确定资源需求,然后它向资源管理器发送请求以分配所需的容器该节点上的资源,然后资源管理器检查其可能性,一旦满意,它将分配容器,现在应用程序主机将将该容器(实际上这里的容器只是有关所需资源的信息)分配给节点管理器。然后节点管理器将创建这个容器,最后,我们的作业将在其中执行。
现在开始回答你的问题,虽然我确信我现在已经回答了大部分问题,
虽然不清楚你说的是哪个调度,但我假设在我们提交作业时是一个容器。
是的,它们又是动态创建的,不清楚你说的是哪个请求,但我想我已经回答了创建它的请求,它是从应用程序主管到资源管理器的请求
不,容器的大小不固定。这取决于您的 Map Reduce 作业。
我希望这能回答您的所有问题 但是,我还是强烈建议你去看看this link,这样你会更清楚。 如果您还有任何疑问,请告诉我。