2019/3/26 星期二
調(diào)整YARN
本主題僅適用于YARN群集,并介紹如何為群集調(diào)整和優(yōu)化YARN。
注意:下載Cloudera YARN調(diào)整電子表格以幫助計算YARN配置。 有關(guān)簡短視頻概述,請參閱調(diào)整YARN應(yīng)用程序。
概觀
此概述提供YARN群集的抽象描述和YARN調(diào)整的目標(biāo)。
成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計,上高網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:上高等地區(qū)。上高做網(wǎng)站價格咨詢:028-86922220
YARN群集由主機(jī)組成。 主機(jī)提供內(nèi)存和CPU資源。 vcore或虛擬核心是主機(jī)CPU的使用份額。
調(diào)整YARN主要包括在工作主機(jī)上最佳地定義容器。 您可以將容器視為由內(nèi)存和vcores組成的矩形圖。 容器執(zhí)行任務(wù)。
有些任務(wù)使用大量內(nèi)存,對大量數(shù)據(jù)的處理最少。
其他任務(wù)需要大量處理能力,但使用的內(nèi)存較少。例如,蒙特卡羅模擬評估許多可能的“如果?”場景在相對較小的數(shù)據(jù)集上使用大量處理能力。
YARN ResourceManager分配內(nèi)存和vcores以盡可能以最有效的方式使用所有可用資源。理想情況下,很少或沒有資源閑置。
應(yīng)用程序是由一個或多個任務(wù)組成的YARN客戶端程序。通常,任務(wù)使用容器中的所有可用資源。任務(wù)不能超過其指定的分配,確保它不能使用所有主機(jī)CPU周期或超過其內(nèi)存分配。
通過將容器配置為使用除開銷和其他服務(wù)所需的所有可用資源之外,調(diào)整YARN主機(jī)以優(yōu)化vcores和內(nèi)存的使用。
YARN調(diào)整有三個階段。這些階段對應(yīng)于YARN調(diào)整電子表格中的選項卡。
????1、群集配置,您可以在其中配置主機(jī)。
????2、YARN配置,您可以量化內(nèi)存和vcores。
????3、MapReduce配置,您可以為特定map和reduce任務(wù)分配最小和最大資源。
YARN和MapReduce具有許多可配置的屬性。有關(guān)完整列表,請參閱Cloudera Manager配置屬性。 YARN調(diào)整電子表格列出了這些屬性的基本子集,這些屬性最有可能提高常見MapReduce應(yīng)用程序的性能。
群集配置
在Cluster Configuration選項卡中,您可以為YARN實現(xiàn)定義工作主機(jī)配置和群集大小。
機(jī)器配置
第1步:工作者主機(jī)配置 //表格中寫單個主機(jī)配置
在下面的輸入框中輸入您可能的機(jī)器配置。 如果您不確定您計劃購買哪種機(jī)器,請?zhí)峁┮恍┻m合您預(yù)期購買的最小值。
與任何系統(tǒng)一樣,可用的內(nèi)存和CPU資源越多,集群處理大量數(shù)據(jù)的速度就越快。 具有4個帶超線程的CPU的機(jī)器,每個CPU有6個內(nèi)核,每個主機(jī)提供48個vcore。
2個單元服務(wù)器安裝中的3 TB硬盤驅(qū)動器在JBOD(Just a Bunch Of Disks)配置中有12個可用插槽,這是在創(chuàng)建電子表格時性能和價格之間的合理平衡。 存儲成本會隨著時間的推移而降低,因此您可能會考慮使用4 TB磁盤。 較大的磁盤價格昂貴,并非所有用例都需要。
兩個1千兆位以太網(wǎng)端口在電子表格發(fā)布時提供了足夠的吞吐量,但10千兆位以太網(wǎng)端口是價格低于速度的選擇。
第2步:工人主持人計劃
現(xiàn)在您已從步驟1獲得基本主機(jī)配置,請使用下表將資源(主要是CPU和內(nèi)存)分配給在主機(jī)上運行的各種軟件組件。
從您的操作系統(tǒng)開始至少8 GB,為Cloudera Manager開始至少1 GB。 如果CDH以外的服務(wù)需要其他資源,請在“其他服務(wù)”下添加這些數(shù)字。
HDFS DataNode使用至少1個內(nèi)核和大約1 GB內(nèi)存。 相同的要求適用于YARN NodeManager。
電子表格列出了幾個可選服務(wù):
???? Impala守護(hù)程序需要至少16 GB的守護(hù)程序。
???? HBase Region Servers需要12-16 GB的內(nèi)存。
???? Solr服務(wù)器至少需要1 GB的內(nèi)存。
???? Kudu平板電腦服務(wù)器至少需要1 GB的內(nèi)存。
任何剩余資源都可用于YARN應(yīng)用程序(Spark和MapReduce)。 在此示例中,有44個CPU內(nèi)核可用。 在每個物理核心上設(shè)置所需的vcores乘數(shù),以計算總可用vcores。
第3步:群集大小
定義了群集中每個主機(jī)的規(guī)范后,輸入支持業(yè)務(wù)案例所需的工作主機(jī)數(shù)。 要了解并行計算的好處,請將主機(jī)數(shù)設(shè)置為最小值10。
YARN配置
在YARN Configuration選項卡上,驗證可用資源并設(shè)置每個容器的最小和最大限制。
第4步:在群集上配置YARN
這些是群集的第一組配置值。 您可以在YARN-> Configuration中設(shè)置這些值
步驟4和5:驗證設(shè)置
步驟4從步驟2中提取內(nèi)存和vcore編號。
步驟5顯示群集的總內(nèi)存和vcores。
轉(zhuǎn)到資源管理器Web UI(通常是http:// <ResourceManagerIP>:8088 /并驗證“內(nèi)存總計”和“Vcores Total”與上面的值匹配。如果您的機(jī)器沒有壞節(jié)點,那么數(shù)字應(yīng)該完全匹配。
步驟6:驗證群集上的容器設(shè)置
為了讓YARN作業(yè)干凈地運行,您需要配置容器屬性。
在步驟6中,您可以更改影響容器大小的值。
最小vcores數(shù)應(yīng)為1.當(dāng)需要額外的vcores時,一次添加1將導(dǎo)致最有效的分配。 將vcore預(yù)留的最大數(shù)量設(shè)置為節(jié)點的大小。
設(shè)置內(nèi)存的最小和最大預(yù)留。 增量應(yīng)該是可以影響性能的最小量。 這里,最小值約為1 GB,最大值約為8 GB,增量為512 MB。
步驟6A:集群容器容量
本節(jié)將告訴您群集的容量(就容器而言)。
步驟6A允許您根據(jù)輸入的數(shù)字驗證群集中容器的最小和最大數(shù)量。
最大可能容器數(shù),基于內(nèi)存配置
最大可能容器數(shù),基于vcore配置
基于每個磁盤軸2個容器的容器編號
根據(jù)內(nèi)存配置,最小可能容器數(shù)
根據(jù)vcore配置,最小可能容器數(shù)
步驟6B:容器健全檢查
本節(jié)將針對主機(jī)在STEP 6中對容器參數(shù)進(jìn)行一些基本檢查。
MapReduce配置
在MapReduce Configuration選項卡上,您可以規(guī)劃增加的特定于任務(wù)的內(nèi)存容量。
第7步:MapReduce配置
對于CDH 5.5及更高版本,我們建議僅為map和reduce任務(wù)指定堆或容器大小。 未指定的值將根據(jù)設(shè)置mapreduce.job.heap.memory-mb.ratio計算。 此計算遵循Cloudera Manager并根據(jù)比率和容器大小計算堆大小。
步驟7A:MapReduce完整性檢查
完整性檢查MapReduce設(shè)置對容器的最小/最大屬性。
通過步驟7A,您可以一目了然地確認(rèn)所有最小和最大資源分配都在您設(shè)置的參數(shù)范圍內(nèi)。
連續(xù)調(diào)度
啟用或禁用連續(xù)調(diào)度會更改YARN連續(xù)或基于節(jié)點心跳調(diào)度的頻率。 對于較大的群集(超過75個節(jié)點)看到繁重的YARN工作負(fù)載,建議通常使用以下設(shè)置禁用連續(xù)調(diào)度:
???? yarn.scheduler.fair.continuous-scheduling-enabled應(yīng)為false
???? yarn.scheduler.fair.assignmultiple應(yīng)該是真的
在大型群集上,連續(xù)調(diào)度可能導(dǎo)致ResourceManager無響應(yīng),因為連續(xù)調(diào)度會遍歷群集中的所有節(jié)點。
有關(guān)連續(xù)調(diào)度調(diào)優(yōu)的更多信息,請參閱以下知識庫文章:FairScheduler使用assignmultiple調(diào)整和連續(xù)調(diào)度
我們沒有75個節(jié)點,設(shè)置為yarn.scheduler.fair.continuous-scheduling-enabled 為true
yarn.scheduler.fair.assignmultiple = true
小結(jié):
yarn中容器內(nèi)存的計算方法
yarn.nodemanager.resource.memory-mb
容器虛擬 CPU 內(nèi)核
yarn.nodemanager.resource.cpu-vcores
//這2個值是更具最后用到的資源剩下來 多少給yarn的
提示:如果yarn.nodemanager.resource.memory-mb=2G yarn.nodemanager.resource.cpu-vcores=2 4個節(jié)點那么在192.168.0.142:8088/cluster 界面上就會有 “Memory Total=8G” “ VCores Total=8”
最小容器內(nèi)存
yarn.scheduler.minimum-allocation-mb = 1G //推薦值
最小容器虛擬 CPU 內(nèi)核數(shù)量
yarn.scheduler.minimum-allocation-vcores = 1 //推薦值
最大容器內(nèi)存
yarn.scheduler.maximum-allocation-mb = < yarn.nodemanager.resource.memory-mb
最大容器虛擬 CPU 內(nèi)核數(shù)量
yarn.scheduler.maximum-allocation-vcores = < yarn.nodemanager.resource.cpu-vcores //推薦值
容器內(nèi)存增量
yarn.scheduler.increment-allocation-mb = 512M
容器虛擬 CPU 內(nèi)核增量
yarn.scheduler.increment-allocation-vcores = 1 //推薦值
ApplicationMaster 虛擬 CPU 內(nèi)核
yarn.app.mapreduce.am.resource.cpu-vcores = 1 //推薦值
ApplicationMaster 內(nèi)存
yarn.app.mapreduce.am.resource.mb = 1024M
ApplicationMaster Java 選項庫
yarn.app.mapreduce.am.command-opts = -Djava.net.preferIPv4Stack=true -Xmx768m
堆與容器大小之比
mapreduce.job.heap.memory-mb.ratio = 0.8 默認(rèn)
Map 任務(wù) CPU 虛擬內(nèi)核
mapreduce.map.cpu.vcores = 1
Map 任務(wù)內(nèi)存
mapreduce.map.memory.mb = 1024
Map 任務(wù) Java 選項庫
mapreduce.map.java.opts = 忽視 ignored
I/O 排序內(nèi)存緩沖 (MiB)
mapreduce.task.io.sort.mb = 400
Reduce 任務(wù) CPU 虛擬內(nèi)核
mapreduce.reduce.cpu.vcores = 1
Reduce 任務(wù)內(nèi)存
mapreduce.reduce.memory.mb = 1024M
Reduce 任務(wù) Java 選項庫
mapreduce.reduce.java.opts 忽視
Map 任務(wù)最大堆棧 819 //是 mapreduce.map.memory.mb 0.8
Reduce 任務(wù)最大堆棧 819M //mapreduce.reduce.memory.mb 0.8
ApplicationMaster Java 最大堆棧 819.2 //這個數(shù)字是yarn.app.mapreduce.am.resource.mb * 0.8得到的
鏈接中,有建議的值,但是我們這是測試集群,資源很小,生產(chǎn)集群上具體見鏈接最后的建議值
參考鏈接:
https://www.cloudera.com/documentation/enterprise/5-13-x/topics/cdh_ig_yarn_tuning.html
CDH5性能調(diào)優(yōu) http://blog.hylstudio.cn/archives/488
文章題目:cdh之調(diào)整YARN(調(diào)優(yōu)yarn生產(chǎn)必做優(yōu)化項)004
文章URL:http://www.rwnh.cn/article24/jscece.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、用戶體驗、全網(wǎng)營銷推廣、微信小程序、網(wǎng)站策劃、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)