hadoop日誌:項目日誌輸出級別和日誌存放路徑詳解

1.hadoop項目日誌輸出級別node

首先了解log4j的基本知識,參考以前的博客。app

對於hadoop來講,日誌很繁雜。對於輸出日誌的級別,首先查看hadoop的日誌文件log4j.propertiesoop

image

log4j.rootLogger=${hadoop.root.logger}, EventCounter的前一部分是hadoop.root.logger。因此咱們能夠知道,對已咱們修改hadoop的配置文件,默認應該是修改hadoop.root.logger的值,EventCounter應該是默認hadoop會添加在後面。相似的道理,咱們修改任何的日誌配置,都應該不會影響到系統自己的日誌輸出,由於它都會在log4j.rootLogger後面添加系統自己須要實現的日誌實現。惟一影響的就是日誌的輸出級別了。包括咱們打包的mapreduce、spark項目都是這個道理,都不會影響到系統自己的日誌輸出,除了日誌輸出級別。因此咱們的log4j.rootLogger配置應該很簡單,就是配置一下日誌的輸出級別和你本身須要實現的日誌輸出,若是都用默認的,則項目中log4j.rootLogger能夠直接是空的。對於spark來講,他自己是不會輸出到console的,因此須要在加上log4j.rootCategory=DEBUG, console,而且在日誌文件中加上console的相關配置,這樣console纔會輸出全部的日誌,默認是沒有console的。對於日誌的輸出級別判斷,使用log.isDebugEnabled()便可。spa

2.日誌類別關係.net

hadoop日誌有不少,大概分爲服務日誌和做業日誌。服務日誌就是hadoop各個基礎服務的日誌,如hdfs,resourcemanager,nodemanager,yarn等服務產生的日誌;做業日誌就是在yarn上運行的任務產生的日誌,有jobhistory日誌和Container日誌,jobhistory日誌就是應用程序運行的日誌,如開始時間結束時間等,container就是真正的代碼產生的日誌。咱們部署的Map reduce jobhistory 服務,查看的日誌就是jobhistory的日誌,通常會有連接到container上。對於在yarn上運行的spark任務,spark的job history沒有連接指向container的日誌。map reduce job history只會收集mapReduce任務的日誌,須要啓動spark的job history,才能看到spark的任務日誌。日誌

image

對於上圖的spark類型的任務,只有成功的History連接纔會指向spark 的history server,kill掉的是不會指向spark的history server的。並且從這裏點進去的spark類型任務,只會顯示application master節點的信息,不會顯示其餘節點的container的信息。mapreduce任務則會顯示全部節點的信息。server

3.hadoop日誌存放路徑詳解blog

參考:Hadoop日誌存放路徑詳解hadoop

4.動態設置hadoop日誌級別部署

訪問地址:http://namenode:50070/logLevel,便可動態設置日誌級別,設置後立馬生效。

參考:Hadoop動態調整日誌級別

相關文章
相關標籤/搜索