Heim Datenbank MySQL-Tutorial Hadoop 新特性、改进、优化和Bug分析系列4:YARN-326, YARN-2

Hadoop 新特性、改进、优化和Bug分析系列4:YARN-326, YARN-2

Jun 07, 2016 pm 04:30 PM
bug hadoop 优化 分析 改进 新特性 特性 Serie

作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址:http://dongxicheng.org/mapreduce-nextgen/hadoop-jira-yarn-326-yarn-2/ 本博客的文章集合:http://dongxicheng.org/recommend/ 重大消息:我的H


重大消息:我的Hadoop新书《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》已经开始在各大网站销售了,购书链接地址: 当当购书网址,京东购书网址,卓越购书网址。新书官方宣传主页: http://hadoop123.com/。

Hadoop jira链接(【注】FS是“Fair Scheduler”的简称,CS是“Capacity Scheduler”的简称):
https://issues.apache.org/jira/browse/YARN-187(让FS支持层级队列组织方式)
https://issues.apache.org/jira/browse/MAPREDUCE-824(让CS支持层级队列组织方式)
https://issues.apache.org/jira/browse/YARN-569(让CS支持抢占)
https://issues.apache.org/jira/browse/YARN-326 (让FS支持多类别资源调度)
https://issues.apache.org/jira/browse/YARN-2 (让CS支持多类别资源调度)
所属范围(新特性、改进、优化或Bug):新特性
修复版本:2.1.0-beta及以上版本
所属分支(Common、HDFS、YARN或MapReduce):YARN、MapReduce
涉及模块:resourcescheduler

本篇文章涉及到的jira链接比较多,主要是Hadoop调度器新特性方面的增加。Capacity Scheduler和Fair Scheduler是Hadoop中最著名的两个多用户资源调度器,最初诞生于不同的公司,有着不同的设计理念的特色,但随着时间的迁移,这两个调度器已经变得非常的类似,截至目前为止,个人认为,框架方面基本一致,但支持的调度策略方面,Fair Scheduler要多于Capacity Scheduler,由于Fair Schduler每个队列可独立选择自己的调度模式,包括fifo、fair和drf,因此可以说,Fair Schduler包含了Capacity Scheduler(Fair Scheduler中将所有队列的调度模式调为fifo即可)。下面就这两个调度器的几个重大特性进行介绍(支持层次队列组织方式、支持资源抢占和支持多类别资源调度):

(1) 支持层次(树状)队列组织方式

在Hadoop 0.20.x版本或者更早的版本,Hadoop采用了平级队列组织方式,在这种组织方式中,管理员可将用户分到若干个扁平队列中,在每个队列中,可指定一个或几个队列管理员管理这些用户,比如杀死任意用户的作业,修改任意用户作业的优先级。然而,从资源管理角度看,仅仅按照队列组织用户是不够的,还需要将资源划分到这几个队列中,并按照一定的策略完成资源分配,这就需要Hadoop作业调度器的支持。总之,在Hadoop中,队列的组织是队列管理和资源分配的基础。

随着Hadoop应用越来越广泛,有用户提出需支持层级队列组织方式。典型的应用场景如下:在一个Hadoop集群中,管理员将所有计算资源划分给了若干个队列,每个队列对应了一个“组织”,其中有一个组织“Org1”,它分到了60%的资源,它内部包含3中类型的作业:

(1)产品线作业

(2)实验性作业—分属于三个不用的项目:Proj1,Proj2和Proj3

(3)其他类型作业

Org1管理员想更有效地控制这60%资源,比如将大部分资源分配给产品线作业的同时,能够让实验性作业和其他类型作业有最少资源保证。考虑到产品线作业提交频率很低,当有产品线作业提交时,必须第一时间得到资源,剩下的资源才给其他类型的作业,然而,一旦产品线作业运行结束,实验性作业和其他类型作业必须马上获取未使用的资源,一个可能的配置方式如下:

grid {

Org1 min=60% {

priority min=90% {

production min=82%

proj1 min=6% max=10%

proj2 min=6%

proj3 min=6%

}

miscellaneous min=10%

}

Org2 min=40%

}

这就引出来层级队列组织方式(更详细的介绍,可阅读我的这篇文章:Hadoop层级队列组织方式,http://dongxicheng.org/mapreduce/hadoop-hierarchy-queues/)。目前为止,Hadoop 2.0完全支持层次队列组织方式,且Fair Scheduler和Capacity Schduler均由很好的支持(具体查看:YARN-187,MAPREDUCE-824)。

(2)支持资源抢占

YARN作为一个资源管理系统,对资源的分配和回收是其最基本的功能之一。资源抢占功能使得YARN能够根据集群资源分布和应用程序优先级动态调整资源分配量。最开始时,只有Fair Schduler支持资源抢占,随着资源抢占功能的需求急迫性,Capacity也正在企图加入资源抢占功能(具体查看YARN-569)。

(3)支持多类别资源调度

在MRv1中,为了简化调度器设计,Hadoop将多维度资源简化为一维度资源slot,进而将对CPU、内存等具体资源的调度问题转化为slot这种抽象资源的调度(参考我的Hadoop书籍《Hadoop技术内幕:深入理解MapReduce基本架构和设计与原理》6.7节“Hadoop资源管理”)。基于slot的调度存在各种各样的问题,比如粗粒度调度导致资源分配模糊、资源浪费严重(存在资源内碎片)等,而YARN则从根本上解决了该问题,YARN不再对资源进行简化,而是直接对具体资源,比如内存、CPU等,进行调度。在YARN最早版本中,仅支持内存一种资源的调度,后来在YARN-2(https://issues.apache.org/jira/browse/YARN-2)中引入了对CPU资源的调度。由于调度与资源隔离是同时使用的,缺一不可,而资源隔离采用了cgroup,而cgroup对CPU和内存之外的资源隔离并不是十分成熟(需要使用更高更新的linux内核,这个对很多公司来说不容易),因此,Hadoop要等待一段时间才会增加对其他资源的调度和隔离。对于多类别资源的调度,目前而言,使用最广泛的仍然是源自mesos的DRF调度机制(参考我的这篇文章:Apache Mesos调度机制,http://dongxicheng.org/apache-mesos/mesos-scheduler/),该机制是从传统的Max-min调度策略基础上扩展而来的,非常适合多用户多队列共享资源池的场景。关于Fair Scheduler和CapacityScheduler的DRF实现,可参考:YARN-326和YARN-2。

原创文章,转载请注明: 转载自董的博客

本文链接地址: http://dongxicheng.org/mapreduce-nextgen/hadoop-jira-yarn-326-yarn-2/

作者:Dong,作者介绍:http://dongxicheng.org/about/

本博客的文章集合:http://dongxicheng.org/recommend/


Copyright © 2013
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vollständige Codenamen der Xiaomi 15-Serie enthüllt: Dada, Haotian, Xuanyuan Vollständige Codenamen der Xiaomi 15-Serie enthüllt: Dada, Haotian, Xuanyuan Aug 22, 2024 pm 06:47 PM

Die offizielle Veröffentlichung der Xiaomi Mi 15-Serie wird im Oktober erwartet, und die vollständigen Codenamen der Serie wurden in der MiCode-Codebasis ausländischer Medien veröffentlicht. Unter ihnen trägt das Flaggschiff Xiaomi Mi 15 Ultra den Codenamen „Xuanyuan“ (was „Xuanyuan“ bedeutet). Dieser Name stammt vom Gelben Kaiser in der chinesischen Mythologie, der Adel symbolisiert. Xiaomi 15 trägt den Codenamen „Dada“, während Xiaomi 15Pro den Namen „Haotian“ (was „Haotian“ bedeutet) trägt. Der interne Codename des Xiaomi Mi 15S Pro lautet „dijun“, was auf Kaiser Jun anspielt, den Schöpfergott von „The Classic of Mountains and Seas“. Abdeckungen der Xiaomi 15Ultra-Serie

Zusammenfassung der Apple iOS18-Fehler Zusammenfassung der Apple iOS18-Fehler Jun 14, 2024 pm 01:48 PM

Als die WWDC-Konferenz 2024 von Apple erfolgreich zu Ende ging, wurde nicht nur macos15 angekündigt, sondern auch das Update von Apples neuem iOS18-System erregte die meiste Aufmerksamkeit. Obwohl es viele neue Funktionen gibt, fragen sich die Leute unweigerlich, ob dies die erste Version von Apples iOS18 ist Es ist notwendig, Apple iOS18 zu aktualisieren. Welche Art von Fehlern gibt es in der neuesten Version von Apple iOS18? Nach der tatsächlichen Nutzungsbewertung finden Sie im Folgenden eine Zusammenfassung der Apple iOS18-Fehler. Werfen wir einen Blick darauf. Derzeit beeilen sich viele iPhone-Benutzer, auf iOS18 zu aktualisieren. Allerdings bereiten verschiedene Systemfehler den Menschen Unbehagen. Einige Blogger sagten, dass man beim Upgrade auf iOS18 vorsichtig sein sollte, weil „es so viele Fehler gibt“. Der Blogger sagte, wenn Ihr iPhone ist

Der beste Zeitpunkt, um die Huawei Mate 60-Serie, die neue KI-Eliminierung + Image-Upgrade zu kaufen und Herbstaktionen zu genießen Der beste Zeitpunkt, um die Huawei Mate 60-Serie, die neue KI-Eliminierung + Image-Upgrade zu kaufen und Herbstaktionen zu genießen Aug 29, 2024 pm 03:33 PM

Seitdem die Huawei Mate60-Serie letztes Jahr in den Handel kam, nutze ich persönlich das Mate60Pro als mein Haupttelefon. In fast einem Jahr wurde das Huawei Mate60Pro mehreren OTA-Upgrades unterzogen und das Gesamterlebnis wurde erheblich verbessert, sodass die Menschen das Gefühl haben, immer neu zu sein. So hat beispielsweise die Huawei Mate60-Serie kürzlich noch einmal ein deutliches Upgrade der Bildgebungsfunktionen erhalten. Erstens die neue KI-Eliminierungsfunktion, die Passanten und Schmutz auf intelligente Weise eliminieren und leere Bereiche automatisch ausfüllen kann. Zweitens wurden die Farbgenauigkeit und die Teleschärfe der Hauptkamera erheblich verbessert. Angesichts der Schulanfangssaison hat die Huawei Mate60-Serie auch eine Herbstaktion gestartet: Beim Kauf des Telefons erhalten Sie einen Rabatt von bis zu 800 Yuan, der Startpreis liegt bei nur 4.999 Yuan. Häufig verwendete und oft neue Produkte mit großem Wert

C++-Programmoptimierung: Techniken zur Reduzierung der Zeitkomplexität C++-Programmoptimierung: Techniken zur Reduzierung der Zeitkomplexität Jun 01, 2024 am 11:19 AM

Die Zeitkomplexität misst die Ausführungszeit eines Algorithmus im Verhältnis zur Größe der Eingabe. Zu den Tipps zur Reduzierung der Zeitkomplexität von C++-Programmen gehören: Auswahl geeigneter Container (z. B. Vektor, Liste) zur Optimierung der Datenspeicherung und -verwaltung. Nutzen Sie effiziente Algorithmen wie die schnelle Sortierung, um die Rechenzeit zu verkürzen. Eliminieren Sie mehrere Vorgänge, um Doppelzählungen zu reduzieren. Verwenden Sie bedingte Verzweigungen, um unnötige Berechnungen zu vermeiden. Optimieren Sie die lineare Suche, indem Sie schnellere Algorithmen wie die binäre Suche verwenden.

So optimieren Sie die Startelemente des WIN7-Systems So optimieren Sie die Startelemente des WIN7-Systems Mar 26, 2024 pm 06:20 PM

1. Drücken Sie die Tastenkombination (Win-Taste + R) auf dem Desktop, um das Ausführungsfenster zu öffnen, geben Sie dann [regedit] ein und drücken Sie zur Bestätigung die Eingabetaste. 2. Nachdem wir den Registrierungseditor geöffnet haben, klicken wir zum Erweitern auf [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer] und prüfen dann, ob sich im Verzeichnis ein Serialize-Element befindet. Wenn nicht, können wir mit der rechten Maustaste auf Explorer klicken, ein neues Element erstellen und es Serialize nennen. 3. Klicken Sie dann auf „Serialisieren“, klicken Sie dann mit der rechten Maustaste auf die leere Stelle im rechten Bereich, erstellen Sie einen neuen DWORD-Wert (32) und nennen Sie ihn „Star“.

Gibt es in Golang klassenähnliche objektorientierte Funktionen? Gibt es in Golang klassenähnliche objektorientierte Funktionen? Mar 19, 2024 pm 02:51 PM

In Golang (Go-Sprache) gibt es kein Konzept einer Klasse im herkömmlichen Sinne, es stellt jedoch einen Datentyp namens Struktur bereit, durch den objektorientierte Funktionen ähnlich wie Klassen erreicht werden können. In diesem Artikel erklären wir, wie Strukturen zur Implementierung objektorientierter Funktionen verwendet werden, und stellen konkrete Codebeispiele bereit. Definition und Verwendung von Strukturen Werfen wir zunächst einen Blick auf die Definition und Verwendung von Strukturen. In Golang können Strukturen über das Schlüsselwort type definiert und dann bei Bedarf verwendet werden. Strukturen können Attribute enthalten

Analysieren Sie, ob die Hauptprogrammiersprache von Tencent Go ist Analysieren Sie, ob die Hauptprogrammiersprache von Tencent Go ist Mar 27, 2024 pm 04:21 PM

Titel: Ist Tencents wichtigste Programmiersprache Go: Eine eingehende Analyse Als Chinas führendes Technologieunternehmen hat Tencent bei der Auswahl seiner Programmiersprachen schon immer große Aufmerksamkeit auf sich gezogen. In den letzten Jahren glauben einige Leute, dass Tencent hauptsächlich Go als Hauptprogrammiersprache übernommen hat. In diesem Artikel wird eine eingehende Analyse durchgeführt, ob die Hauptprogrammiersprache von Tencent Go ist, und es werden konkrete Codebeispiele angegeben, um diese Ansicht zu untermauern. 1. Anwendung der Go-Sprache in Tencent Go ist eine von Google entwickelte Open-Source-Programmiersprache. Viele Entwickler schätzen ihre Effizienz, Parallelität und Einfachheit.

Die Parameterkonfiguration des Vivox100 wurde enthüllt: Wie kann die Prozessorleistung optimiert werden? Die Parameterkonfiguration des Vivox100 wurde enthüllt: Wie kann die Prozessorleistung optimiert werden? Mar 24, 2024 am 10:27 AM

Die Parameterkonfiguration des Vivox100 wurde enthüllt: Wie kann die Prozessorleistung optimiert werden? In der heutigen Zeit der rasanten technologischen Entwicklung sind Smartphones zu einem unverzichtbaren Bestandteil unseres täglichen Lebens geworden. Als wichtiger Bestandteil eines Smartphones steht die Leistungsoptimierung des Prozessors in direktem Zusammenhang mit der Benutzererfahrung des Mobiltelefons. Als hochkarätiges Smartphone hat die Parameterkonfiguration des Vivox100 große Aufmerksamkeit erregt, insbesondere die Optimierung der Prozessorleistung hat bei den Benutzern große Aufmerksamkeit erregt. Als „Gehirn“ des Mobiltelefons beeinflusst der Prozessor direkt die Laufgeschwindigkeit des Mobiltelefons.

See all articles