搜尋
首頁資料庫mysql教程hadoop资源调度器

hadoop资源调度器

Jun 07, 2016 pm 04:30 PM
hadoop多用戶支援環境調度資源

? ? ? ? ?hadoop支持多用户环境,在生产环境中,往往一个大的hadoop集群,供多个应用如Hive,Mahout等之类的使用。在多用户环境下,有的用户提交的工作量很大、很频繁,而有的很少,还有的优先级很高,那么如何保证“按需”来为各个用户分配资源(内存、CPU

? ? ? ? ?hadoop支持多用户环境,在生产环境中,往往一个大的hadoop集群,供多个应用如Hive,Mahout等之类的使用。在多用户环境下,有的用户提交的工作量很大、很频繁,而有的很少,还有的优先级很高,那么如何保证“按需”来为各个用户分配资源(内存、CPU、带宽、IO、磁盘)呢?这就需要用到资源调度器。

? ?? ? ?这里,我对hadoop的资源调度做个简单的归纳总结:

? ? ? ?? 一、基本术语

? ? ? ? 用户分组管理

? ? ? ? 用于按组为单位组织管理,某个用户只能向固定分组中提交作业,只能使用固定分组中配置的资源;同时可以限制每个用户提交的作业数,使用的资源量等

? ? ? ? 作业管理

? ? ? ? 包括作业提交权限控制,作业运行状态查看权限控制等。如:可限定可提交作业的用户;可限定可查看作业运行状态的用户;可限定普通用户只能修改自己作业的优先级,kill自己的作业;高级用户可以控制所有作业等。

? ? ? ? 用户(User)

? ? ? ? Hadoop使用Linux用户管理,Hadoop中的用户就是Linux中的用户

? ? ? ? 分组(group)

? ? ? ? Hadoop使用Linux分组管理,Hadoop中的分组就是Linux中的分组

? ? ? ? 池(pool)

? ? ? ? Hadoop Fair Scheduler中的概念,一个pool可以是一个user,一个group,或者一个queue。

? ? ? ? 队列(Queue)

? ? ? ? 队列是Hadoop提出的概念,一个Queue可以由任意几个Group和任意几个User组成。

?

?

? ? ? ? 二、资源调度管理简介

? ? ? ? Hadoop的资源管理核心

? ? ? ? ? ? ? ?存储容量管理

? ? ? ? ? ? ? ? ? ? ?HDFS存储管理

? ? ? ? ? ? ? ?计算容量管理

? ? ? ? ? ? ? ? ? ? ?MR任务槽管理

? ? ? ? ? ? ? ? ? ? ?任务调度器

?

?

? ? ? ? ? 三、存储容量管理

?

? ? ? ? ? ? ? ?主要是对HDFS的管理:

? ? ? ? ? ? ? ? ? ? HDFS本身也是一种文件系统,与Linux文件系统有类似之处

? ? ? ? ? ? ? ? ? ? 对用户组、用户、路径设置Quotas(包括空间大小和文件数量)

? ? ? ? ? ? ? ? ? ? Hadoop dfsadmin -setSpaceQuota size path

? ? ? ? ? ? ? ? ? ? hadoop dfsadmin -setQuota number path

? ? ? ? ? ? ? ? ? ? Hadoop共享Linux的用户组和用户

? ? ? ? ? ? ? ? ? ? HDFS的权限控制:用户和用户组

?

?

?

? ? ? ? ? 四、计算容量管理

? ? ? ? ? ? ? ? ? 主要是对MapReduce任务槽的管理,任务槽也可以理解为服务器的资源综合统称:

? ? ? ? ? ? ? ? ? ? ? ? ?CPU(如何设置MR,见下面备注)

? ? ? ? ? ? ? ? ? ? ? ? ?内存(设置子任务的jvm参数和GC参数。在1 . 0以后的版本中,可以全局M/R内存和Job ? ? ? ? ? ? ? M/R内存)

? ? ? ? ? ? ? ? ? ? ? ? ?网络带宽

? ? ? ? ? ? ? ? ? ? ? ? ?磁盘IO

? ? ? ? ? ? ? ? ? ? ? ? ?单台主机或整个集群资源是有限的。在多任务、多用户环境下,大量并发提交和执行任务是非常常见的,这就导致资源不足而竞争,如何保证在有限资源或业务约束下有序调度和执行任务,需要有一个协调者,这就是Hadoop的资源调度器。

?

?

? ? ? ? ? ? ? ? ? Hadoop的调度器

? ? ? ? ? ? ? ? ? ? ? ? FIFO(default)。先进先出调度器?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Hadoop默认提供。

? ? ? ? ? ? ? ? ? ? ? ? Fair Scheduler(plugin)。公平调度器

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Facebook提供。

? ? ? ? ? ? ? ? ? ? ? ? Capacity Scheduler (plugin)。容量调度器

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Yahoo提供。

?

?

?

? ? ? ? ? ? ? ? 1、 FIFO Scheduler

? ? ? ? ? ? ? ? ? ?先进先出调度器

? ? ? ? ? ? ? ? ? ?优点:

? ? ? ? ? ? ? ? ? ? ? ? ? ?Hadoop默认提供。非常简单、JobTracker无负担

? ? ? ? ? ? ? ? ? ? ? ? ? ?支持五级优先级,每级一个队列,从队列优先级高低提取任务执行。五级分别是:Very Low 、Low 、Normal 、High 、Very Hign;

? ? ? ? ? ? ? ? ? ? ? ? ? ?在同级队列中,按提交Job的时间先后顺序执行

? ? ? ? ? ? ? ? ? ? ? ? ? ?无需额外配置

? ? ? ? ? ? ? ? ? ? 缺点:

? ? ? ? ? ? ? ? ? ? ? ? ? ?完全忽略不同作业的需求差异

? ? ? ? ? ? ? ? ? ??

?

?

? ? ? ? ? ? ? ? ? 2、Fair Scheduler?

? ? ? ? ? ? ? ? ? 公平分享调度器:在多个用户之间共享集群资源。它按资源池来组织作业,并把资源按时间公平地分到这些资源池里。在每一个资源池内,会使用公平共享地方法在运行作业之间共享容量。

?

? ? ? ? ? ? ? ? ? 特征:

? ? ? ? ? ? ? ? ? ? ? ? ? 支持多用户(默认一个用户对一个池,依赖于Linux多用户环境)

? ? ? ? ? ? ? ? ? ? ? ? ? 资源公平共享(公平共享量由优先级决定,同优先级按FIFO调度)

? ? ? ? ? ? ? ? ? ? ? ? ? 保证最小共享量

? ? ? ? ? ? ? ? ? ? ? ? ? 支持时间片抢占

? ? ? ? ? ? ? ? ? ? ? ? ? 限制作业并发量,以防止中间数据塞满磁盘

? ? ? ? ? ? ? ? ? ? ? ? ??



?

?

? ? ? ? ? ? ? ? ? ?3、Capacity Scheduler?

? ? ? ? ? ? ? ? ? ? ?容量调度器:使多个用户可以安全地共享一个大的集群,应用程序可以在容量限度下获取到需要的资源,最大化集群的吞吐率和利用率。它按队列来组织作业,每个队列会配置一定比例的计算资源,且所有提交到队列中的作业共享该队列中的资源。

? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ?特征:

? ? ? ? ? ? ? ? ? ? ? ? ? ? 层次化的队列

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 层次化的队列支持在一个组织内子队列的优先共享资源,从而提供了更多的控制和预

测的能力,不支持抢占

? ? ? ? ? ? ? ? ? ? ? ? ? ? 资源容量保证

? ? ? ? ? ? ? ? ? ? ? ? ? ?队列实现了一种资源的划分,所有的应用都会被指定到特定的队列,这些应用所能使用到的资源受到队列所拥有资源的限制

? ? ? ? ? ? ? ? ? ? ? ? ? ? 安全性?

? ? ? ? ? ? ? ? ? ? ? ? ? ?每一个队列都有一个严格的ACL来控制那些用户可以访问队列,并且有一个safe-guard来保证用户不能够看或者修改其他用户的应用,而且每个队列或系统都可以设置管理员角色。?

? ? ? ? ? ? ? ? ? ? ? ? ? ? 弹性

? ? ? ? ? ? ? ? ? ? ? ? ??空闲的资源可以分配给任何队列,这样可能超出队列的资源限制。也就是说,如果集群有空闲的资源,而有些队列需要的资源超出了分给他的限制,这些空闲的资源将被分配给这些队列,这样就保证了资源的可预测性和弹性,从而防止了人工孤岛,帮助实现资源的优化利用。

? ? ? ? ? ? ? ? ? ? ? ? ? ? 多用户

? ? ? ? ? ? ? ? ? ? ? ? ? ?系列的综合设置可以防止单一的应用或用户占用队列或集群的全部资源,防止集群被单用户过度使用,从而保证了多用户可以共同使用集群

? ? ? ? ? ? ? ? ? ? ? ? ? ? 可操作性

? ? ? ? ? ? ? ? ? ? ? ? ? ?RuntimeConfiguration:一些设置可以在运行时进行配置,例如资源分配的容量, ? ? ? ? ? ? ? ? ? ? ACL

? ? ? ? ? ? ? ? ? ? ? ? ? ? 基于资源的调度?

? ? ? ? ? ? ? ? ? ? ? ? ? ? 支持资源密集型的应用,应用可以被指定分配超出缺省设置的更多的资源

?



?

? ? ? ? ? ? ?Fair VS Capacity

?

? ? ? ? ? ? ? 相同点

? ? ? ? ? ? ? ? ? ? 均支持多用户多队列,即:适用于多用户共享集群的应用环境

? ? ? ? ? ? ? ? ? ? 单个队列均支持优先级和FIFO调度方式

? ? ? ? ? ? ? ? ? ? 均支持资源共享,即某个queue中的资源有剩余时,可共享给其他缺资源的queue

? ? ? ? ? ? ? 异同点

? ? ? ? ? ? ? ? ? ? ?核心调度策略不同。 计算能力调度器的调度策略是,先选择资源利用率低的queue,然后在queue中同时考虑FIFO和memory constraint因素;而公平调度器仅考虑公平,而公平是通过作业缺额体现的,调度器每次选择缺额最大的job(queue的资源量,job优先级等仅用于计算作业缺额)。

? ? ? ? ? ? ? ? ? ? ?内存约束。计算能力调度器调度job时会考虑作业的内存限制,为了满足某些特殊job的特殊内存需求,可能会为该job分配多个slot;而公平调度器对这种特殊的job无能为力,只能杀掉这种task。

单一用户环境下,Fair只能共享一个池,Capacity可以多队列

?



已有 0 人发表留言,猛击->> 这里

ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—



hadoop资源调度器

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
mysql:blob和其他無-SQL存儲,有什麼區別?mysql:blob和其他無-SQL存儲,有什麼區別?May 13, 2025 am 12:14 AM

mysql'sblobissuitableForStoringBinaryDataWithInareLationalDatabase,而ilenosqloptionslikemongodb,redis和calablesolutionsolutionsolutionsoluntionsoluntionsolundortionsolunsonstructureddata.blobobobissimplobisslowdeperformberbutslowderformandperformancewithlararengedata;

mySQL添加用戶:語法,選項和安全性最佳實踐mySQL添加用戶:語法,選項和安全性最佳實踐May 13, 2025 am 12:12 AM

toaddauserinmysql,使用:createUser'username'@'host'Indessify'password'; there'showtodoitsecurely:1)choosethehostcarecarefullytocon trolaccess.2)setResourcelimitswithoptionslikemax_queries_per_hour.3)usestrong,iniquepasswords.4)Enforcessl/tlsconnectionswith

MySQL:如何避免字符串數據類型常見錯誤?MySQL:如何避免字符串數據類型常見錯誤?May 13, 2025 am 12:09 AM

toAvoidCommonMistakeswithStringDatatatPesInMysQl,CloseStringTypenuances,chosethirtightType,andManageEngencodingAndCollat​​ionsEttingSefectery.1)usecharforfixed lengengtrings,varchar forvariable-varchar forbariaible length,andtext/blobforlargerdataa.2 seterters seterters seterters

mySQL:字符串數據類型和枚舉?mySQL:字符串數據類型和枚舉?May 13, 2025 am 12:05 AM

mysqloffersechar,varchar,text,and denumforstringdata.usecharforfixed Lengttrings,varcharerforvariable長度,文本forlarger文本,andenumforenforcingDataAntegrityWithaEtofValues。

mysql blob:如何優化斑點請求mysql blob:如何優化斑點請求May 13, 2025 am 12:03 AM

優化MySQLBLOB請求可以通過以下策略:1.減少BLOB查詢頻率,使用獨立請求或延遲加載;2.選擇合適的BLOB類型(如TINYBLOB);3.將BLOB數據分離到單獨表中;4.在應用層壓縮BLOB數據;5.對BLOB元數據建立索引。這些方法結合實際應用中的監控、緩存和數據分片,可以有效提升性能。

將用戶添加到MySQL:完整的教程將用戶添加到MySQL:完整的教程May 12, 2025 am 12:14 AM

掌握添加MySQL用戶的方法對於數據庫管理員和開發者至關重要,因為它確保數據庫的安全性和訪問控制。 1)使用CREATEUSER命令創建新用戶,2)通過GRANT命令分配權限,3)使用FLUSHPRIVILEGES確保權限生效,4)定期審計和清理用戶賬戶以維護性能和安全。

掌握mySQL字符串數據類型:varchar vs.文本與char掌握mySQL字符串數據類型:varchar vs.文本與charMay 12, 2025 am 12:12 AM

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

MySQL:字符串數據類型和索引:最佳實踐MySQL:字符串數據類型和索引:最佳實踐May 12, 2025 am 12:11 AM

在MySQL中處理字符串數據類型和索引的最佳實踐包括:1)選擇合適的字符串類型,如CHAR用於固定長度,VARCHAR用於可變長度,TEXT用於大文本;2)謹慎索引,避免過度索引,針對常用查詢創建索引;3)使用前綴索引和全文索引優化長字符串搜索;4)定期監控和優化索引,保持索引小巧高效。通過這些方法,可以在讀取和寫入性能之間取得平衡,提升數據庫效率。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。