成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hadoop 2.0中作業日志收集原理以及配置方法

開發 前端 Hadoop
Hadoop 2.0提供了跟1.0類似的作業日志收集組件,從一定程度上可認為直接重用了1.0的代碼模塊,考慮到YARN已經變為通用資源管理平臺,因此,提供一個通用的日志收集模塊勢在必行,由于目前通用日志收集模塊正在開發中(可參考“YARN-321”),本文僅介紹MRv2(MapReduce On YARN)自帶的日志收集模塊,包括工作原理以及配置方法。

Hadoop 2.0提供了跟1.0類似的作業日志收集組件,從一定程度上可認為直接重用了1.0的代碼模塊,考慮到YARN已經變為通用資源管理平臺,因此,提供一個通用的日志收集模塊勢在必行,由于目前通用日志收集模塊正在開發中(可參考“YARN-321”),本文僅介紹MRv2(MapReduce On YARN)自帶的日志收集模塊,包括工作原理以及配置方法。

在Hadoop 2.0中,每個作業日志包含兩部分,作業運行日志和任務運行日志,作業運行由MRAppMaster(MapReduce 作業的ApplicationMaster)產生,詳細記錄了作業啟動時間、運行時間,每個任務啟動時間、運行時間、Counter值等信息,與 Hadoop 1.0中的JobHistory日志是基本一致。MapReduce作業的ApplicationMaster也運行在Container中,且是編號為 000001的Container,比如container_1385051297072_0001_01_000001,它自身可認為是一個特殊的task,因此,也有自己的運行日志,該日志與Map Task和Reduce Task類似,但并不是前面介紹的“作業運行日志”。

ApplicationMaster產生的作業運行日志舉例如下,日志采用apache avro(作為日志存儲格式是Hadoop 2.0唯一使用到Avro的地方)工具,以json的格式保存:

  1. {“type”:”JOB_SUBMITTED”,”event”:{“org.apache.hadoop.mapreduce.jobhistory.JobSubmitted”: 
  2.  
  3. {“jobid”:”job_1385051297072_0002″,”jobName”:”QuasiMonteCarlo”,”userName”:”yarn”, “submitTime”:1385393834983,”jobConfPath”: 
  4.  
  5. “hdfs://hadoop-test/tmp/hadoop-yarn/staging/yarn/.staging/job_1385051297072_0002/job.xml”,”acls”: 
  6.  
  7. {},”jobQueueName”:”default”,”workflowId”:”",”workflowName”:”",”workflowNodeName”:”", 
  8.  
  9. “workflowAdjacencies”:”",”workflowTags”:”"}}} 
  10.  
  11. {“type”:”JOB_INITED”,”event”:{“org.apache.hadoop.mapreduce.jobhistory.JobInited”: 
  12.  
  13. {“jobid”:”job_1385051297072_0002″,”launchTime”:1385393974505,”totalMaps”:8, 
  14.  
  15. “totalReduces”:1,”jobStatus”:”INITED”,”uberized”:false}}} 
  16.  
  17. {“type”:”JOB_INFO_CHANGED”,”event”:{“org.apache.hadoop.mapreduce.jobhistory.JobInfoChange”: 
  18.  
  19. {“jobid”:”job_1385051297072_0002″,”submitTime”:1385393834983,”launchTime”:1385393974505}}} 

作業運行日志產生過程如下

步驟1:ResourceManager啟動作業的 ApplicationMaster,ApplicationMaster運行過程中,將日志寫 到${yarn.app.mapreduce.am.staging-dir}/yarn/.staging/job_XXXXX_XXX/下,其中參數 yarn.app.mapreduce.am.staging-dir 的默認值是/tmp/hadoop-yarn/staging,該目錄下將存在3個文件,分別是以“.jhist”、“.summary”和“.xml” 結尾的文件,分別表示作業運行日志、作業概要信息和作業配置屬性,其中,作業概要信息只有一句話,舉例如下:

 

jobId=job_1385051297072_0002,submitTime=1385393834983,launchTime=1385393974505,

firstMapTaskLaunchTime=1385393976706,firstReduceTaskLaunchTime=1385393982581,

finishTime=1385393985417,resourcesPerMap=1024,resourcesPerReduce=1024,

numMaps=8,numReduces=1,user=yarn,queue=default,status=SUCCEEDED,

mapSlotSeconds=47,reduceSlotSeconds=5,jobName=QuasiMonteCarlo

步驟2:所有任務運行完成后,意味著,該作業運行完成,此時ApplicationMaster將三個文件拷貝 到${ mapreduce.jobhistory.intermediate-done-dir}/${username}目錄下,拷貝后的文件名后面添 加”_tmp”,其中mapreduce.jobhistory.intermediate-done-dir默認值 是${yarn.app.mapreduce.am.staging-dir}/history/done_intermediate

步驟3:ApplicationMaster將拷貝完成的三個文件重新命名成“.jhist”、“.summary”和“.xml”結尾的文件(去掉“_tmp”)

步驟4:周期性掃描線程定期將done_intermediate的日志文件轉移到done目錄(通過參數 mapreduce.jobhistory.done-dir配置,默認值為${yarn.app.mapreduce.am.staging- dir}/history/done)下,同時刪除“.summary”文件(該文件中的信息,.jhist文件中都有)。

步驟5:ApplicationMaster移除

${yarn.app.mapreduce.am.staging-dir}/yarn/.staging/job_XXXXX_XXX/目錄

默認情況下,任務運行日志產只會存放在各NodeManager的本地磁盤上,你可以打開日志聚集功能,以便讓任務將運行日志推送到HDFS上,以便集中管理和分析。

默認情況下,NodeManager將日志保存到yarn.nodemanager.log-dirs下,,該屬性缺省值 為${yarn.log.dir}/userlogs,也就是Hadoop安裝目錄下的logs/userlogs目錄中,通常為了分攤磁盤負載,我們會 為該參數設置多個路徑,此外,需要注意的是,ApplicationMaster的自身的日志也存放在該路目下,因為它也運行在Container之中, 是一個特殊的task。舉例如下,其中,最后一個是某個作業的ApplicationMaster日志(編號是000001)。

 

yarn@YARN-001:/opt/yarn/yarn-client$ ls ../yarn/logs/userlogs/*

../yarn/logs/userlogs/application_1384428704524_0003:

container_1384428704524_0003_01_000004

../yarn/logs/userlogs/application_1384428704524_0008:

container_1384428704524_0008_01_000003

../yarn/logs/userlogs/application_1384428704524_0012:

container_1384428704524_0012_01_000001

將作業和任務日志存放在各個節點上不便于統一管理和分析,為此,我們可以啟用日志聚集功能。打開該功能后,各個任務運行完成后,會將生成的日志推送 到HDFS的一個目錄下(之前的并不會立即刪除,在HDFS上,每個任務產生的三個文件,即syslog、stderr和stdout將合并一個文件,并 通過索引記錄各自位置),配置方法可參考文章:“Hadoop YARN配置參數剖析(2)—權限與日志聚集相關參數”。

接下來,講一下MapReduce的JobHistory Server,這是一個獨立的服務,可通過web UI展示歷史作業日志,之所以將其獨立出來,是為了減輕ResourceManager負擔。通??梢詥釉谝慌_獨立的機器上,你需在mapred- site.xml中對其進行配置,并使用“sbin/mr-jobhistory-daemon.sh start jobhistoryserver”命令啟動它。JobHistory Server將會分析作業運行日志,并展示作業的啟動時間、結束時間、各個任務的運行時間,各種Counter數據等,并產生一個指向作業和任務日志的鏈 接。

最后,介紹一下mapred-site.xml和yarn-site.xml這兩個配置文件的作用。Yarn- site.xml是YARN相關的配置文件,客戶端、ResourceManager和NodeManager需要改配置文件,為了簡單,可讓這三類節點 上的該文件是一致的。Mapred-site.xml是MapReduce特有的配置文件,在YARN中,mapreduce已經變成了一個客戶端編程 庫,因此只有客戶端和jobhistory server需要該配置文件,其他節點,比如resourceManager和NodeManager不需要,除非你們也把這些節點作為客戶端提供給用戶 使用,另外,一定要讓客戶端和jobhistory server上的mapres-site.xml一致。

原文鏈接:http://dongxicheng.org/mapreduce-nextgen/hadoop-2-0-jobhistory-log/

責任編輯:陳四芳 來源: dongxicheng.org
相關推薦

2013-05-30 09:07:29

Hadoop 2.0

2010-06-22 10:08:56

Linux at命令

2012-09-18 09:55:44

Hadoop 2.0

2010-06-03 15:39:47

Hadoop配置

2024-04-09 08:00:00

Kubernetes管理系統云原生

2018-09-18 15:21:47

Hive數據倉庫程序

2014-02-12 10:28:50

Hadoop

2021-08-27 07:47:07

Nacos灰度源碼

2023-08-08 00:06:31

2021-05-07 16:23:54

鴻蒙HarmonyOS應用

2012-05-28 09:23:40

JavaHadoopApache

2013-05-27 14:05:16

2013-06-08 14:34:42

Hadoop 2.0

2011-08-17 15:37:23

Objective-C垃圾收集

2017-03-22 20:21:16

Hadoop框架分布式

2019-12-09 15:20:09

JavascriptPromise前端

2022-05-11 10:58:11

MetricKitiOS13系統崩潰診斷

2022-06-12 21:28:26

Fluentd開源

2011-03-11 17:23:03

2017-08-03 10:38:32

HADOOP1.XHDFSHadoop
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产成人 | 91免费小视频 | 夜夜爽99久久国产综合精品女不卡 | 国产激情毛片 | 成人精品一区二区 | 一区二区三区欧美 | 欧美精品一区二区三 | 免费国产一区 | 欧美理论 | 日韩福利电影 | 亚洲高清在线免费观看 | 欧美一级欧美一级在线播放 | 一区二区三区四区不卡视频 | 水蜜桃久久夜色精品一区 | 精品国产一区二区三区日日嗨 | 91亚洲精华国产 | 欧美激情视频一区二区三区在线播放 | 国产视频中文字幕 | 成年人黄色免费视频 | 国产精品a级 | 日本久久久久久 | 逼逼视频 | 日韩毛片在线观看 | 亚洲一区亚洲二区 | 欧美精品一区在线发布 | 国产一区二区三区在线看 | 欧美九九 | 91精品国产综合久久久久久 | 中文在线观看视频 | 亚洲色图图片 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 国产在线拍偷自揄拍视频 | 国产一区三区在线 | 成人午夜网站 | 老牛嫩草一区二区三区av | 免费一二区 | 91中文字幕| 国产小视频精品 | 一级黄色片在线看 | 玖玖在线精品 | av在线视|