自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hadoop YARN常見(jiàn)問(wèn)題以及解決方案

開(kāi)發(fā) 前端 Hadoop
本文匯總了幾個(gè)hadoop yarn中常見(jiàn)問(wèn)題以及解決方案,注意,本文介紹解決方案適用于hadoop 2.2.0以及以上版本。

本文匯總了幾個(gè)hadoop yarn中常見(jiàn)問(wèn)題以及解決方案,注意,本文介紹解決方案適用于hadoop 2.2.0以及以上版本。

(1) 默認(rèn)情況下,各個(gè)節(jié)點(diǎn)的負(fù)載不均衡(任務(wù)數(shù)目不同),有的節(jié)點(diǎn)很多任務(wù)在跑,有的沒(méi)有任務(wù),怎樣讓各個(gè)節(jié)點(diǎn)任務(wù)數(shù)目盡可能均衡呢?

答: 默認(rèn)情況下,資源調(diào)度器處于批調(diào)度模式下,即一個(gè)心跳會(huì)盡可能多的分配任務(wù),這樣,優(yōu)先發(fā)送心跳過(guò)來(lái)的節(jié)點(diǎn)將會(huì)把任務(wù)領(lǐng)光(前提:任務(wù)數(shù)目遠(yuǎn)小于集群可以同時(shí)運(yùn)行的任務(wù)數(shù)量),為了避免該情況發(fā)生,可以按照以下說(shuō)明配置參數(shù):

如果采用的是fair scheduler,可在yarn-site.xml中,將參數(shù)yarn.scheduler.fair.max.assign設(shè)置為1(默認(rèn)是-1,)

如果采用的是capacity scheduler(默認(rèn)調(diào)度器),則不能配置,目前該調(diào)度器不帶負(fù)載均衡之類的功能。

當(dāng)然,從hadoop集群利用率角度看,該問(wèn)題不算問(wèn)題,因?yàn)橐话闱闆r下,用戶任務(wù)數(shù)目要遠(yuǎn)遠(yuǎn)大于集群的并發(fā)處理能力的,也就是說(shuō),通常情況下,集群時(shí)刻處于忙碌狀態(tài),沒(méi)有節(jié)點(diǎn)一直空閑著。

(2)某個(gè)節(jié)點(diǎn)上任務(wù)數(shù)目太多,資源利用率太高,怎么控制一個(gè)節(jié)點(diǎn)上的任務(wù)數(shù)目?

答:一個(gè)節(jié)點(diǎn)上運(yùn)行的任務(wù)數(shù)目主要由兩個(gè)因素決定,一個(gè)是NodeManager可使用的資源總量,一個(gè)是單個(gè)任務(wù)的資源需求量,比如一個(gè) NodeManager上可用資源為8 GB內(nèi)存,8 cpu,單個(gè)任務(wù)資源需求量為1 GB內(nèi)存,1cpu,則該節(jié)點(diǎn)最多運(yùn)行8個(gè)任務(wù)。

NodeManager上可用資源是由管理員在配置文件yarn-site.xml中配置的,相關(guān)參數(shù)如下:

yarn.nodemanager.resource.memory-mb:總的可用物理內(nèi)存量,默認(rèn)是8096

yarn.nodemanager.resource.cpu-vcores:總的可用CPU數(shù)目,默認(rèn)是8

對(duì)于MapReduce而言,每個(gè)作業(yè)的任務(wù)資源量可通過(guò)以下參數(shù)設(shè)置:

mapreduce.map.memory.mb:物理內(nèi)存量,默認(rèn)是1024

mapreduce.map.cpu.vcores:CPU數(shù)目,默認(rèn)是1

注:以上這些配置屬性的詳細(xì)介紹可參考文章:Hadoop YARN配置參數(shù)剖析(1)—RM與NM相關(guān)參數(shù)。

默認(rèn)情況,各個(gè)調(diào)度器只會(huì)對(duì)內(nèi)存資源進(jìn)行調(diào)度,不會(huì)考慮CPU資源,你需要在調(diào)度器配置文件中進(jìn)行相關(guān)設(shè)置,具體可參考文章:Hadoop YARN配置參數(shù)剖析(4)—Fair Scheduler相關(guān)參數(shù)Hadoop YARN配置參數(shù)剖析(5)—Capacity Scheduler相關(guān)參數(shù)

(3)如何設(shè)置單個(gè)任務(wù)占用的內(nèi)存量和CPU數(shù)目?

答:對(duì)于MapReduce而言,每個(gè)作業(yè)的任務(wù)資源量可通過(guò)以下參數(shù)設(shè)置:

mapreduce.map.memory.mb:物理內(nèi)存量,默認(rèn)是1024

mapreduce.map.cpu.vcores:CPU數(shù)目,默認(rèn)是1

需要注意的是,默認(rèn)情況,各個(gè)調(diào)度器只會(huì)對(duì)內(nèi)存資源進(jìn)行調(diào)度,不會(huì)考慮CPU資源,你需要在調(diào)度器配置文件中進(jìn)行相關(guān)設(shè)置。

(4) 用戶給任務(wù)設(shè)置的內(nèi)存量為1000MB,為何最終分配的內(nèi)存卻是1024MB?

答:為了易于管理資源和調(diào)度資源,Hadoop YARN內(nèi)置了資源規(guī)整化算法,它規(guī)定了最小可申請(qǐng)資源量、***可申請(qǐng)資源量和資源規(guī)整化因子,如果應(yīng)用程序申請(qǐng)的資源量小于最小可申請(qǐng)資源量,則 YARN會(huì)將其大小改為最小可申請(qǐng)量,也就是說(shuō),應(yīng)用程序獲得資源不會(huì)小于自己申請(qǐng)的資源,但也不一定相等;如果應(yīng)用程序申請(qǐng)的資源量大于***可申請(qǐng)資源 量,則會(huì)拋出異常,無(wú)法申請(qǐng)成功;規(guī)整化因子是用來(lái)規(guī)整化應(yīng)用程序資源的,應(yīng)用程序申請(qǐng)的資源如果不是該因子的整數(shù)倍,則將被修改為最小的整數(shù)倍對(duì)應(yīng)的 值,公式為ceil(a/b)*b,其中a是應(yīng)用程序申請(qǐng)的資源,b為規(guī)整化因子。

以上介紹的參數(shù)需在yarn-site.xml中設(shè)置,相關(guān)參數(shù)如下:

yarn.scheduler.minimum-allocation-mb:最小可申請(qǐng)內(nèi)存量,默認(rèn)是1024

yarn.scheduler.minimum-allocation-vcores:最小可申請(qǐng)CPU數(shù),默認(rèn)是1

yarn.scheduler.maximum-allocation-mb:***可申請(qǐng)內(nèi)存量,默認(rèn)是8096

yarn.scheduler.maximum-allocation-vcores:***可申請(qǐng)CPU數(shù),默認(rèn)是4

對(duì)于規(guī)整化因子,不同調(diào)度器不同,具體如下:

FIFO和Capacity Scheduler,規(guī)整化因子等于最小可申請(qǐng)資源量,不可單獨(dú)配置。

Fair Scheduler:規(guī)整化因子通過(guò)參數(shù)yarn.scheduler.increment-allocation-mb和yarn.scheduler.increment-allocation-vcores設(shè)置,默認(rèn)是1024和1。

通過(guò)以上介紹可知,應(yīng)用程序申請(qǐng)到資源量可能大于資源申請(qǐng)的資源量,比如YARN的最小可申請(qǐng)資源內(nèi)存量為1024,規(guī)整因子是1024,如果一個(gè)應(yīng)用程序申請(qǐng)1500內(nèi)存,則會(huì)得到2048內(nèi)存,如果規(guī)整因子是512,則得到1536內(nèi)存。

(5)我們使用的是Fairscheduler,配置了多個(gè)隊(duì)列,當(dāng)用戶提交一個(gè)作業(yè),指定的隊(duì)列不存在時(shí),F(xiàn)air Scheduler會(huì)自動(dòng)創(chuàng)建一個(gè)新隊(duì)列而不是報(bào)錯(cuò)(比如報(bào)錯(cuò):隊(duì)列XXX不存在),如何避免這種情況發(fā)生?

答:在yarn-site.xml中設(shè)置yarn.scheduler.fair.allow-undeclared-pools,將它的值配置為false(默認(rèn)是true)。

(6)使用Hadoop 2.0過(guò)程中,遇到了錯(cuò)誤,怎樣排查錯(cuò)誤?

答:從hadoop 日志入手,Hadoop日志存放位置可參考我這篇文章:Hadoop日志到底存在哪里?

  原文鏈接:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-problems-vs-solutions/

責(zé)任編輯:陳四芳 來(lái)源: dongxicheng.org
相關(guān)推薦

2019-10-08 16:05:19

Redis數(shù)據(jù)庫(kù)系統(tǒng)

2010-08-31 16:09:04

DIV+CSS

2010-08-04 10:20:30

Flex組件開(kāi)發(fā)

2023-04-12 11:32:33

網(wǎng)絡(luò)

2010-08-26 12:59:29

marginCSS

2019-04-04 13:11:37

React內(nèi)存泄露memory leak

2024-07-08 08:45:41

2025-02-19 08:00:00

移動(dòng)端移動(dòng)設(shè)備移動(dòng)開(kāi)發(fā)

2011-07-26 16:05:19

Oracle數(shù)據(jù)庫(kù)服務(wù)器

2016-09-27 21:14:53

JavaURL

2010-09-01 14:51:12

CSSIEFirefox

2021-05-18 08:21:38

React HooksReact前端

2021-08-20 15:49:13

電腦主板維修

2024-05-09 15:00:38

Python編碼開(kāi)發(fā)

2024-05-24 10:56:24

PythonURL代碼

2009-12-24 11:13:41

2024-10-30 11:00:00

Python列表索引

2025-01-09 15:28:30

2024-11-08 13:47:35

中文亂碼配置

2011-02-22 14:00:16

vsftpd
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)