Opportunistic Containers

本文基于Hadoop 3.0.0

Yarn容器分为2种:

Guaranteed Containers:
节点上存在未分配的资源时才将容器分配给节点
Opportunistic Containers:
在调度时没有可用的资源也可以将容器分派给NM。在这种情况下,Opportunistic容器将在NM处排队,等待资源可用。

如果有可用资源,则无论其执行类型如何,都会立即启动容器的执行。
如果没有可用资源:
Guaranteed Containers:根据要执行的Guaranteed容器的要求杀死Opportunistic容器,然后开始执行。
Opportunistic Containers:保留在队列中,直到资源可用。
当一个容器完成其执行并释放资源时,我们检查排队的容器,如果有可用的资源,就开始执行它们。默认以FIFO顺序从队列中选择容器。

配置及测试见官网:http://hadoop.apache.org/docs/r3.0.0/hadoop-yarn/hadoop-yarn-site/OpportunisticContainers.html

 测试用例为 pi

$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.3.jar pi -Dmapreduce.job.num-opportunistic-maps-percent="40" 10 100

参数含义:

每100个Container中Opportunistic Containers的数量为40

Number of Maps = 10
Samples per Map = 100

pi程序的程序入口:QuasiMonteCarlo.java

猜你喜欢

转载自www.cnblogs.com/yuxiaoqiang/p/10282812.html