Rumah pangkalan data tutorial mysql Hadoop 新特性、改进、优化和Bug分析系列5:YARN-3

Hadoop 新特性、改进、优化和Bug分析系列5:YARN-3

Jun 07, 2016 pm 04:30 PM
bug hadoop pengoptimuman menganalisis bertambah baik Ciri-ciri baru ciri siri

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


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

Hadoop jira链接:https://issues.apache.org/jira/browse/YARN-3
所属范围(新特性、改进、优化或Bug):新特性
修复版本:2.0.3-alpha及以上版本
所属分支(Common、HDFS、YARN或MapReduce):YARN
涉及模块:nodemanager
英文标题:“Add support for CPU isolation/monitoring of containers”

背景介绍

YARN作为一个资源管理系统,主要由两个组件构成,分别是ResourceManager和NodeManager,其中,ResourceManager负责整个集群上资源的管理和分配,而NodeManager则负责单个节点的资源管理和任务启动,这两个组件必须充分发挥各自的作用才能完成资源的有效利用,缺一不可。ResourceManager将资源分配给应用程序的ApplicationMaster,比如将资源分配给appMaster1,而appMaster1则会进一步与node1上的NodeManager通信,启动一个占用1CPU和2GB内存的任务,为了确保该任务“占且仅占”这些资源,NodeManager必须提供合理的隔离机制,提供一个资源容器保证这些资源的前提下,还要防止它多占用资源干扰其他任务。

与之对比,MRv1采用了JVM进行资源隔离,而JVM仅能对内存资源进行限定,其他资源,包括CPU、网络等资源则无法隔离。在资源隔离上,YARN要不MRv1要先进得多。

解决方案

提供资源隔离机制是YARN NodeManager的责任,针对不同的资源,YARN采用了不同的资源隔离机制,而本文涉及到的YARN-3则全面介绍了YARN的资源隔离机制,总结起来,当前YARN针对CPU和内存两种资源提供了隔离机制,其中,CPU采用了CGroups轻量级资源隔离机制,而内存则采用了线程监控的方案。

由于YARN的目标是构建一个通用的资源管理平台,不仅仅限于Java编写的MapReduce这类应用,更多的是非java程序,因此,MRv1基于JVM的资源隔离方案是不可行的。

对于CGroups而言,它可以限制应用程序的内存使用上限,当内存超过某个阈值时,它将直接将其杀死。对于一些应用程序而言,有些情况下会出现内存暴增而又骤降的现象,因此采用硬性限制的策略是缺乏灵活性的,基于这种考虑,YARN仍采用了MRv1中的基于线程监控的方案,该方案启动一个线程监控当前正在运行的任务的进程树,如果发现内存暴增而又骤降,则认为是正常现象,不会将任务杀死,因此,该方案更加友好。

由于CPU资源的多少不会影响任务的生死(只影响任务执行的快慢),因此,YARN采用了CGroups对CPU资源进行隔离,需要注意的是,CGroups采用的是CPU资源下限控制法,该方法是一种公平共享的方法,举个例子,如果一个节点上有8个核(pcore:vcore=1:1),那么如果只运行一个任务(pcore=1),则它最多使用800%的CPU,如果运行2个任务(pcore=1),则每个任务最多可使用400%的CPU,依次类推……

当前,YARN的资源隔离方面还有很多需要改进的地方,比如,支持更细粒度的资源隔离,例如将任务绑定到某个CPU上(已经在做了,使用taskset命令);支持更多类型的资源隔离,比如网络和磁盘IO等(这个依赖于CGroups的发展,当前CGoups在这方面还不完善)。

如何配置?

【注】 配置参数是在https://issues.apache.org/jira/browse/YARN-2中引入的。这部分内容我已在我的博客文章“YARN/MRv2 ResourceManager深入剖析——资源调度器”中进行了详细介绍。

当前YARN支持内存和CPU两种资源类型的管理和分配。当NodeManager启动时,会向ResourceManager注册,而注册信息中会包含该节点可分配的CPU和内存总量,这两个值均可通过配置选项设置(在yarn-site.xml文件中),具体如下:

(1)yarn.nodemanager.resource.memory-mb

该节点可分配的物理内存总量,默认是8*1024MB。

(2)yarn.nodemanager.vmem-pmem-ratio

每单位的物理内存总量对应的虚拟内存量,默认是2.1,表示每使用1MB的物理内存,最多可以使用2.1MB的虚拟内存总量。

(3)yarn.nodemanager.resource.cpu-core(默认是8

可分配的CPU总个数,默认是8

(4)yarn.nodemanager.vcores-pcores-ratio

为了更细粒度的划分CPU资源,YARN将每个物理CPU划分成若干个虚拟CPU,默认值为2用户提交应用程序时,可以指定每个任务需要的虚拟CPU个数。在MRAppMaster中,每个Map Task和Reduce Task默认情况下需要的虚拟CPU个数为1,用户可分别通过mapreduce.map.cpu.vcores和mapreduce.reduce.cpu.vcores进行修改(对于内存资源,Map Task和Reduce Task默认情况下需要1024MB,用户可分别通过mapreduce.map.memory.mb和mapreduce.reduce.memory.mb修改)。

(在最新版本中,yarn.nodemanager.resource.cpu-core和yarn.nodemanager.vcores-pcores-ratio两个参数被遗弃,引入一个新参数yarn.nodemanager.resource.cpu-vcore,表示虚拟CPU个数,具体请阅读YARN-782)

为了启用CGroups和内存线程监控,你可以按照该文档” Hadoop MapReduce Next Generation – Cluster Setup”说明进行配置,安装时请一定要先阅读这篇文章:Using YARN with CGroups。

扩展阅读:

(1)“Hook up cgroups CPU settings to the number of virtual cores allocated”:https://issues.apache.org/jira/browse/YARN-600

(2)“CgroupsLCEResourcesHandler tries to write to cgroup.procs”:https://issues.apache.org/jira/browse/YARN-799

(3)“Support CGroup ceiling enforcement on CPU”:https://issues.apache.org/jira/browse/YARN-810

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

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

作者: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:
)
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Nama kod penuh siri Xiaomi 15 didedahkan: Dada, Haotian, Xuanyuan Nama kod penuh siri Xiaomi 15 didedahkan: Dada, Haotian, Xuanyuan Aug 22, 2024 pm 06:47 PM

Siri Xiaomi Mi 15 dijangka akan dikeluarkan secara rasmi pada bulan Oktober, dan nama kod siri penuhnya telah didedahkan dalam pangkalan kod MiCode media asing. Antaranya, perdana Xiaomi Mi 15 Ultra diberi nama kod "Xuanyuan" (bermaksud "Xuanyuan"). Nama ini berasal daripada Maharaja Kuning dalam mitologi Cina, yang melambangkan bangsawan. Xiaomi 15 diberi nama kod "Dada", manakala Xiaomi 15Pro dinamakan "Haotian" (bermaksud "Haotian"). Nama kod dalaman Xiaomi Mi 15S Pro ialah "dijun", yang merujuk kepada Maharaja Jun, tuhan pencipta "The Classic of Mountains and Seas". Sarung siri Xiaomi 15Ultra

Ringkasan pepijat Apple iOS18 Ringkasan pepijat Apple iOS18 Jun 14, 2024 pm 01:48 PM

Memandangkan persidangan WWDC Apple 2024 mencapai kesimpulan yang berjaya, bukan sahaja macos15 diumumkan, tetapi kemas kini sistem iOS18 baharu Apple paling menarik perhatian Walaupun terdapat banyak ciri baharu, sebagai versi pertama iOS18 Apple, orang ramai pasti tertanya-tanya sama ada ia adalah perlu untuk menaik taraf Apple iOS18, apakah jenis pepijat yang terdapat dalam keluaran terbaru Apple iOS18? Selepas penilaian penggunaan sebenar, berikut ialah ringkasan pepijat Apple iOS18, mari kita lihat. Pada masa ini, ramai pengguna iPhone tergesa-gesa untuk menaik taraf kepada iOS18 Namun, pelbagai pepijat sistem menyebabkan orang tidak selesa. Sesetengah penulis blog berkata bahawa anda harus berhati-hati semasa menaik taraf kepada iOS18 kerana "terdapat banyak pepijat." Blogger itu berkata bahawa jika iPhone anda adalah

Masa terbaik untuk membeli siri Huawei Mate 60, penghapusan AI baharu + naik taraf imej, dan nikmati promosi musim luruh Masa terbaik untuk membeli siri Huawei Mate 60, penghapusan AI baharu + naik taraf imej, dan nikmati promosi musim luruh Aug 29, 2024 pm 03:33 PM

Sejak siri Huawei Mate60 mula dijual tahun lepas, saya secara peribadi telah menggunakan Mate60Pro sebagai telefon utama saya. Dalam hampir setahun, Huawei Mate60Pro telah melalui pelbagai peningkatan OTA, dan keseluruhan pengalaman telah dipertingkatkan dengan ketara, memberikan orang perasaan sentiasa baharu. Sebagai contoh, baru-baru ini, siri Huawei Mate60 sekali lagi menerima peningkatan besar dalam keupayaan pengimejan. Yang pertama ialah fungsi penghapusan AI baharu, yang boleh menghapuskan orang yang lalu-lalang dan serpihan secara bijak dan mengisi kawasan kosong secara automatik, kedua, ketepatan warna dan kejelasan telefoto kamera utama telah dinaik taraf dengan ketara. Memandangkan ia adalah musim kembali ke sekolah, siri Huawei Mate60 juga telah melancarkan promosi musim luruh: anda boleh menikmati diskaun sehingga 800 yuan apabila membeli telefon, dan harga permulaan serendah 4,999 yuan. Produk yang biasa digunakan dan selalunya baru dengan nilai yang hebat

Pengoptimuman program C++: teknik pengurangan kerumitan masa Pengoptimuman program C++: teknik pengurangan kerumitan masa Jun 01, 2024 am 11:19 AM

Kerumitan masa mengukur masa pelaksanaan algoritma berbanding saiz input. Petua untuk mengurangkan kerumitan masa program C++ termasuk: memilih bekas yang sesuai (seperti vektor, senarai) untuk mengoptimumkan storan dan pengurusan data. Gunakan algoritma yang cekap seperti isihan pantas untuk mengurangkan masa pengiraan. Hapuskan berbilang operasi untuk mengurangkan pengiraan berganda. Gunakan cawangan bersyarat untuk mengelakkan pengiraan yang tidak perlu. Optimumkan carian linear dengan menggunakan algoritma yang lebih pantas seperti carian binari.

Bagaimana untuk mengoptimumkan item permulaan sistem WIN7 Bagaimana untuk mengoptimumkan item permulaan sistem WIN7 Mar 26, 2024 pm 06:20 PM

1. Tekan kombinasi kekunci (kekunci win + R) pada desktop untuk membuka tetingkap jalankan, kemudian masukkan [regedit] dan tekan Enter untuk mengesahkan. 2. Selepas membuka Registry Editor, kami klik untuk mengembangkan [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer], dan kemudian lihat jika terdapat item Serialize dalam direktori Jika tidak, kami boleh klik kanan Explorer, buat item baharu dan namakannya Serialize. 3. Kemudian klik Serialize, kemudian klik kanan ruang kosong dalam anak tetingkap kanan, cipta nilai bit DWORD (32) baharu dan namakannya Bintang

Adakah terdapat ciri berorientasikan objek seperti kelas di Golang? Adakah terdapat ciri berorientasikan objek seperti kelas di Golang? Mar 19, 2024 pm 02:51 PM

Tiada konsep kelas dalam erti kata tradisional dalam Golang (bahasa Go), tetapi ia menyediakan jenis data yang dipanggil struktur, yang melaluinya ciri berorientasikan objek yang serupa dengan kelas boleh dicapai. Dalam artikel ini, kami akan menerangkan cara menggunakan struktur untuk melaksanakan ciri berorientasikan objek dan menyediakan contoh kod konkrit. Definisi dan penggunaan struktur Pertama, mari kita lihat definisi dan penggunaan struktur. Di Golang, struktur boleh ditakrifkan melalui kata kunci jenis dan kemudian digunakan di mana perlu. Struktur boleh mengandungi atribut

Analisis sama ada bahasa pengaturcaraan utama Tencent ialah Go Analisis sama ada bahasa pengaturcaraan utama Tencent ialah Go Mar 27, 2024 pm 04:21 PM

Tajuk: Adakah bahasa pengaturcaraan utama Tencent Go: Analisis mendalam Sebagai syarikat teknologi terkemuka di China, Tencent sentiasa menarik banyak perhatian dalam pilihan bahasa pengaturcaraannya. Dalam beberapa tahun kebelakangan ini, sesetengah orang percaya bahawa Tencent menggunakan Go sebagai bahasa pengaturcaraan utamanya. Artikel ini akan menjalankan analisis mendalam sama ada bahasa pengaturcaraan utama Tencent ialah Go dan memberikan contoh kod khusus untuk menyokong pandangan ini. 1. Aplikasi bahasa Go dalam Tencent Go ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google Kecekapan, kesesuaian dan kesederhanaannya disukai oleh banyak pembangun.

Konfigurasi parameter Vivox100s didedahkan: Bagaimana untuk mengoptimumkan prestasi pemproses? Konfigurasi parameter Vivox100s didedahkan: Bagaimana untuk mengoptimumkan prestasi pemproses? Mar 24, 2024 am 10:27 AM

Konfigurasi parameter Vivox100s didedahkan: Bagaimana untuk mengoptimumkan prestasi pemproses? Dalam era perkembangan teknologi yang pesat hari ini, telefon pintar telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian kita. Sebagai bahagian penting telefon pintar, pengoptimuman prestasi pemproses berkaitan secara langsung dengan pengalaman pengguna telefon mudah alih. Sebagai telefon pintar berprofil tinggi, konfigurasi parameter Vivox100s telah menarik banyak perhatian, terutamanya pengoptimuman prestasi pemproses telah menarik banyak perhatian daripada pengguna. Sebagai "otak" telefon bimbit, pemproses secara langsung mempengaruhi kelajuan berjalan telefon bimbit.

See all articles