單元5 任務(wù)5.4-MapReduce任務(wù)監(jiān)控_第1頁
單元5 任務(wù)5.4-MapReduce任務(wù)監(jiān)控_第2頁
單元5 任務(wù)5.4-MapReduce任務(wù)監(jiān)控_第3頁
單元5 任務(wù)5.4-MapReduce任務(wù)監(jiān)控_第4頁
單元5 任務(wù)5.4-MapReduce任務(wù)監(jiān)控_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

《大數(shù)據(jù)平臺部署與運(yùn)維》單元5MapReduce實(shí)現(xiàn)電商銷售數(shù)據(jù)統(tǒng)計(jì)任務(wù)5.4MapReduce任務(wù)監(jiān)控01掌握MapReduce任務(wù)監(jiān)控方式02理解MapReduce任務(wù)失敗常見原因?qū)W習(xí)目標(biāo)任務(wù)5.4MapReduce任務(wù)監(jiān)控【任務(wù)場景】經(jīng)理:小張,現(xiàn)在你已經(jīng)了解MapReduce的原理,也能通過JavaAPI實(shí)現(xiàn)一些功能了,但是你知道MapReduce執(zhí)行過程中如何監(jiān)控嗎?小張:可以在任務(wù)執(zhí)行時(shí)命令行看到一些信息,也可以通過瀏覽器和Hadoop命令去進(jìn)行監(jiān)控。經(jīng)理:嗯,不錯(cuò),掌握這幾種監(jiān)控方式就可以對大部分的MapReduce場景進(jìn)行有效監(jiān)控了,你再去了解一下MapReduce任務(wù)執(zhí)行失敗常見原因。小張:好的。任務(wù)5.4MapReduce任務(wù)監(jiān)控【任務(wù)布置】掌握MapReduce任務(wù)監(jiān)控方式,理解MapReduce任務(wù)執(zhí)行失敗常見原因,再次運(yùn)行電商數(shù)據(jù)分析程序,監(jiān)控任務(wù)執(zhí)行過程。任務(wù)5.4MapReduce任務(wù)監(jiān)控5.4.1MapReduce任務(wù)監(jiān)控方式當(dāng)我們執(zhí)行一個(gè)MapReduce任務(wù)后,程序被提交給了集群。對于開發(fā)測試集群運(yùn)行程序的開發(fā)人員來說,剛剛接觸MapReduce的初學(xué)者往往是在命令行前等著程序執(zhí)行完成,遇到任務(wù)運(yùn)行緩慢或報(bào)錯(cuò)的情況時(shí)很難做出有效響應(yīng)。下面介紹MapReduce任務(wù)監(jiān)控的幾種形式,讓大家能對MapReduce程序進(jìn)行有效監(jiān)控。任務(wù)5.4MapReduce任務(wù)監(jiān)控1.執(zhí)行時(shí)監(jiān)控執(zhí)行Hadoopjar命令后控制臺會輸出任務(wù)信息。執(zhí)行時(shí)需重點(diǎn)關(guān)注標(biāo)紅的這幾行信息。上面的輸出信息可以查看當(dāng)前任務(wù)的ID,以及map階段、reduce階段的任務(wù)進(jìn)度,當(dāng)輸出Jobjob_idcompletedsuccessfully時(shí)表明任務(wù)已成功執(zhí)行完畢。[root@master01~]#hadoopjar/opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jarwordcount/collection.txt/out2021-11-3003:55:46,111INFOclient.RMProxy:ConnectingtoResourceManageratmaster01/14:80322021-11-3003:55:46,374INFOmapreduce.JobResourceUploader:DisablingErasureCodingforpath:/tmp/hadoop-yarn/staging/root/.staging/job_1638262379053_00012021-11-3003:55:47,138INFOinput.FileInputFormat:Totalinputfilestoprocess:1……2021-11-3003:55:53,710INFOmapreduce.Job:map0%reduce0%2021-11-3003:55:58,774INFOmapreduce.Job:map100%reduce0%2021-11-3003:56:02,799INFOmapreduce.Job:map100%reduce100%2021-11-3003:56:02,807INFOmapreduce.Job:Jobjob_1638262379053_0001completedsuccessfully2021-11-3003:56:02,863INFOmapreduce.Job:Counters:53……任務(wù)5.4MapReduce任務(wù)監(jiān)控2.瀏覽器監(jiān)控執(zhí)行Hadoop任務(wù)后在瀏覽器打開管理節(jié)點(diǎn)MapReduceWebUI界面(通常為管理節(jié)點(diǎn)IP+8088端口),可查看任務(wù)情況:任務(wù)列表展示任務(wù)名稱、任務(wù)類型、狀態(tài)、開始時(shí)間、任務(wù)進(jìn)度等信息,點(diǎn)擊任務(wù)ID可查看任務(wù)詳細(xì)信息。任務(wù)5.4MapReduce任務(wù)監(jiān)控任務(wù)詳細(xì)信息頁面可以查看任務(wù)概覽情況以及執(zhí)行任務(wù)使用的資源情況:任務(wù)5.4MapReduce任務(wù)監(jiān)控3.

Hadoop命令通過Hadoop命令也可以完成對任務(wù)的查看與管理。Hadoop任務(wù)管理常用命令如下表所示:命令描述mapredjob-list查看所有job信息mapredjob-killjob_id通過ID殺掉jobmapredjob-statusjob_id打印map和reduce完成百分比和所有計(jì)數(shù)器mapredjob-kill-tasktask_id殺死任務(wù)mapredjob-fail-tasktask_id使任務(wù)失敗任務(wù)5.4MapReduce任務(wù)監(jiān)控5.4.2任務(wù)執(zhí)行失敗常見原因在真實(shí)生產(chǎn)環(huán)境中,用戶代碼、進(jìn)程崩潰、機(jī)器故障等都可能導(dǎo)致MapReduce程序失敗,但是Hadoop最主要的優(yōu)勢之一就是他能自動處理此類故障并完成作業(yè)。以下為幾種導(dǎo)致任務(wù)失敗的常見原因。1.任務(wù)運(yùn)行失?。?)任務(wù)代碼異常JVM在退出前向applicationmaster發(fā)送錯(cuò)誤報(bào)告,錯(cuò)誤報(bào)告會被記入用戶日志。applicationmaster將任務(wù)標(biāo)記為failed,釋放容器和資源。(2)任務(wù)JVM突然退出JVM軟件缺陷而導(dǎo)致MapReduce用戶代碼由于某些特殊原因造成JVM退出。NodeManager注意到JVM退出,通知applicationmaster將任務(wù)標(biāo)記為失敗。(3)任務(wù)掛起applicationmaster長時(shí)間未接收到進(jìn)度更新,將任務(wù)標(biāo)記為失敗,JVM進(jìn)程也將會自動殺死。任務(wù)5.4MapReduce任務(wù)監(jiān)控2.

ApplicationMaster運(yùn)行失敗applicationmaster會向資源管理器發(fā)送周期性的心跳,當(dāng)applicationmaster出現(xiàn)故障時(shí),資源管理器將檢測到該故障并在一個(gè)新的容器(由節(jié)點(diǎn)管理器管理)中開始一個(gè)新的master實(shí)例??蛻舳讼騛pplicationmaster輪詢報(bào)告進(jìn)度,如果它的applicationmaster運(yùn)行失敗,客戶端就需要重新定位新的實(shí)例。在作業(yè)初始化期間,客戶端向資源管理器詢問并緩存applicationmaster的地址,使其每次需要向applicationmaster查詢時(shí)不必重載資源管理器。但如果applicationmaster運(yùn)行失敗,客戶端就會在發(fā)出狀態(tài)更新請求時(shí)超時(shí),這是客戶端就會想資源管理器請求新的applicationmaster的地址。任務(wù)5.4MapReduce任務(wù)監(jiān)控3.

NodeManager運(yùn)行失敗節(jié)點(diǎn)管理器失敗就會停止向資源管理器發(fā)送心跳信息并被移出可用的節(jié)點(diǎn)資源管理器池。默認(rèn)時(shí)間是10分鐘,可通過下面參數(shù)設(shè)置:yarn.resourcemanager.nm.liveness-monitor.expiry-interval-ms節(jié)點(diǎn)管理器失敗則上面運(yùn)行的所有任務(wù)或applicationmaster都將會按照之前描述的機(jī)制進(jìn)行恢復(fù)。如果應(yīng)用程序失敗次數(shù)過高,那么該節(jié)點(diǎn)管理器可能會被拉黑。由applicationmaster管理黑名單。任務(wù)5.4MapReduce任務(wù)監(jiān)控4.

ResourceManager運(yùn)行失敗資源管理器失敗是很嚴(yán)重的問題,沒有資源管理器,作業(yè)和任務(wù)都將無法啟動,在默認(rèn)配置中,資源管理器是單點(diǎn)故障。為了保障服務(wù)高可用(HighAvailability),我們需要配置一對資源管理器,以便在主資源管理器失敗后,備份資源管理器可以繼續(xù)運(yùn)行。任務(wù)5.4MapReduce任務(wù)監(jiān)控5.4.3MapReduce日志文件我們開發(fā)程序時(shí)通常會使用System.out.pirntln()輸出內(nèi)容來查看運(yùn)行情況。但是在MapReduce程序里寫了之后,卻不知道到哪里找。下面我們來介紹一下常見日志輸出位置以及日志包含的信息。ResourceManager日志存放位置是Hadoop安裝目錄下的logs目錄下的yarn-*-resourcemanager-*.log。NodeManager日志存放位置是各個(gè)NodeManager節(jié)點(diǎn)上hadoop安裝目錄下的logs目錄下的yarn-*-nodemanager-*.log。Container日志包含ApplicationMaster日志和普通Task日志,它們均存放在Hadoop安裝目錄下的userlogs目錄中的application_xxx目錄下。每個(gè)目錄下包含三個(gè)日志文件:stdout、stderr和syslog,其中,stdout是通過標(biāo)準(zhǔn)輸出打印出來的日志,比如System.out.println,syslog是通過log4j打印的日志,通常這個(gè)日志中包含的有用信息最多,也是錯(cuò)誤調(diào)試中最關(guān)鍵的參考日志。任務(wù)5.4MapReduce任務(wù)監(jiān)控【工作流程】再次運(yùn)行電商數(shù)據(jù)分析程序,監(jiān)控任務(wù)執(zhí)行過程。任務(wù)5.4MapReduce任務(wù)監(jiān)控【操作步驟】1.命令行運(yùn)行電商數(shù)據(jù)分析程序,查看執(zhí)行情況查看是否有以下重要信息輸出[root@master01~]#hadoopjarCollectionApp.jar

CollectionApp/collection.txt/co_out12021-11-3022:51:40,185INFOmapreduce.Job:Runningjob:job_1638262379053_00122021-11-3022:51:44,276INFOmapreduce.Job:Jobjob_1638262379053_0012runninginubermode:false2021-11-3022:51:44,277INFOmapreduce.Job:map0%reduce0%2021-11-3022:51:48,320INFOmapreduce.Job:map100%reduce0%2021-11-3022:51:52,355INFOmapreduce.Job:map100%reduce50%2021-11-3022:51:53,360INFOmapreduce.Job:map100%reduce100%2021-11-3022:51:53,372INFOmapreduce.Job:Jobjob_1638262379053_0012completedsuccessfully2021-11-3022:51:53,435INFOmapreduce.Job:Counters:53任務(wù)5.4MapReduce任務(wù)監(jiān)控2.命令行運(yùn)行電商數(shù)據(jù)分析程序,在瀏覽器查看運(yùn)行情況。更換輸出目錄,重新執(zhí)行命令,打開瀏覽器查看運(yùn)行情況。[root@master01~]#hadoopjarCollectionApp.jar

CollectionApp/collection.txt/co_out2任務(wù)5.4MapReduce任務(wù)監(jiān)控通過狀態(tài)可以看到任務(wù)是否成功執(zhí)行。任務(wù)5.4MapReduce任務(wù)監(jiān)控3.命令行運(yùn)行電商數(shù)據(jù)分析程序,使用Hadoop命令查看運(yùn)行情況再次更換輸出目錄,重新執(zhí)行命令,新開一個(gè)終端窗口通過Hadoop命令查看任務(wù)運(yùn)行情況。在新開的終端窗口中運(yùn)行Hadoop命令,可以看到已有新任務(wù)生成。[root@master01~]#hadoopjarcollectionApp.jarCollectionApp/collection.txt/co_out3

[root@master01~]#mapredjob-list2021-11-3023:02:52,544INFOclient.RMProxy:ConnectingtoResourceManageratmaster01/14:80322021-11-3023:02:53,239INFOconf.Configuration:resource-types.xmlnotfound2021-11-3023:02:53,239INFO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論