cloudera learning7:Hadoop資源管理

thamsyangsw發表於2018-04-10

Linux Control Groups(cgroups):在作業系統級別進行資源分配,可透過Cloudera Static Service Pools配置。

YARN排程器配置:對執行在YARN上的應用進行資源配置,比如M/R,implala。可透過Cloudera 動態資源池進行配置。

以下資源可以透過cgroups配置進行限制:

Memory Hard Limit

– If a process exceeds this limit, the kernel swaps out some of the process’s memory; if it cannot do so, the process will be killed

Memory Soft Limit
– When memory contenFon exists on the host, the OS targets the process to not exceed this limit

CPU Shares
– When CPU contenFon exists on the host, processes with higher CPU shares will be given more CPU time

I/O Weight 
– Specify the proportion of I/O access available to the read requests performed by a process 

 

透過YARN進行資源配置:

YARN scheduler決定何時何處給應用分配Containers,Containers被賦予memory,CPU等資源。

YARN支援的scheduler型別:

1.FIFO Scheduler:先進先出排程器,基於時間順序分配資源。

2.Capacity Scheduler:資源分配到資源池,各資源池中採用FIFO分配資源。

3.Fair Scheduler(default,recommend):公平排程器。資源分配到帶有權重的資源池。各資源池之間按權重分配資源。

公平排程器的分配份額永遠不會高於實際的需要。
單一考慮:應用記憶體均等的分,CPU均等的分。
綜合考慮:應用記憶體,CPU消耗記憶體綜合考慮分配。
每個pool上可以設權重,可以設最小值。
 

YARN排程器屬性配置:yarn.resourcemanager.scheduler.class。

YARN沒指定pool,會預設初始化一個和使用者同名的pool。
YARN也支援預先指定一個pool,執行時動態指定一個pool。
 
YARN work node資源配置:
yarn.nodemanager.resource.memory-mb:配置NodeManager的tasks可使用的RAM。
yarn.nodemanager.resource.cpu-vcores:配置NodeManager的tasks可使用的CPU個數。
 
yarn.scheduler.minimum-allocation-mb :配置ResourceManager記憶體。CM default: 1G。
yarn.scheduler.minimum-allocation-vcores:配置ResourceManager的CPU。CM default:1 vcore。
 
yarn.scheduler.increment-allocation-mb:記憶體規整化單位,CM default 512M。如果資源請求1.6G,則會分配512*4=2G。
yarn.scheduler.increment-allocation-vcores:cpu規整化單位。

 

YARN Container資源分配:

mapreduce.map.memory.mb :Map task記憶體分配,CM default 1G。

mapreduce.reduce.memory.mb :Reduce task記憶體分配,CM default 1G。
yarn.app.mapreduce.am.resource.mb:ApplicationMaster記憶體分配,CM default 1G。Used by NodeManagers。
yarn.app.mapreduce.am.command-opts:Java堆空間分配,預設1G。
mapreduce.map.java.opts:Java執行Mapper時的堆大小。
mapreduce.reduce.java.opts:Java執行Reducer時的堆大小。
 
YARN tuning:

Calculate the resources needed for other processes:

– Reserve 3GB or 20% of total memory for the OS

– Reserve resources for any non-Hadoop applicaFons

– Reserve resources for other any Hadoop components

– HDFS caching (if configured), NodeManager, DataNode

– Impalad, HBase RegionServer, Solr, etc. 

 

Configure the YARN scheduler and application framework settings

– Based on the worker node profile determined above

– Determine the number of containers needed to best support YARN applicaFons based on the type of workload

– Monitor usage and tune estimated values to find optimal settings 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26613085/viewspace-2152741/,如需轉載,請註明出處,否則將追究法律責任。

相關文章