1. 程式人生 > >CDH叢集中maptask的日誌檔案的位置整理

CDH叢集中maptask的日誌檔案的位置整理

笨小蔥這周寫了一個讀取hbase中的資料到map中的很簡單的mr。然後放到cdh叢集中跑了一下,結果出現了一系列問題。其中最重要的一個問題竟然是,笨小蔥想去找我在mr程式中打的日誌,竟然苦苦找不到。所以這裡記錄下笨小蔥從頭到尾的一個過程。

1.打包執行mr

這裡笨小蔥執行 hadoop jar xxx.jar時,報了一個錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
	at WordCount.main(WordCount.java:43)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
很明顯應該是沒有引入hbase的所需jar包。所以這裡設定環境變數時加入hbase架包:

   HADOOP_CLASSPATH=/opt/cloudera/parcels/CDH/lib/hadoop/client/*:/opt/cloudera/parcels/CDH/lib/hbase/lib/*

[[email protected]~]# export HADOOP_CLASSPATH=/opt/cloudera/parcels/CDH/lib/hadoop/client/*:/opt/cloudera/parcels/CDH/lib/hbase/lib/*
[[email protected] xxx]$ hadoop jar /home/cctest/hadoopStudy.jar
16/09/09 20:58:21 WARN mapreduce.TableMapReduceUtil: The hbase-prefix-tree module jar containing PrefixTreeCodec is not present.  Continuing without it.
16/09/09 20:58:21 INFO client.RMProxy: Connecting to ResourceManager at xxxxxxxx/xxxxxxxx:8032
16/09/09 20:58:21 WARN mapreduce.JobResourceUploader: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this.
16/09/09 20:58:26 INFO zookeeper.RecoverableZooKeeper: Process identifier=hconnection-0x2eef906c connecting to ZooKeeper ensemble=localhost:2181
16/09/09 20:58:26 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.4.5-cdh5.7.0--1, built on 03/23/2016 18:30 GMT
好啦,這裡mr就跑完啦.現在笨小蔥想去看看日誌。查了一下cdh的檔案目錄,列出如下: . 相關目錄 ? /var/log/cloudera-scm-installer : 安裝日誌目錄。 ? /var/log/* : 相關日誌檔案(相關服務的及CM的)。 ? /usr/share/cmf/ : 程式安裝目錄。 ? /usr/lib64/cmf/ : Agent程式程式碼。 ? /var/lib/cloudera-scm-server-db/data : 內嵌資料庫目錄。 ? /usr/bin/postgres : 內嵌資料庫程式。 ? /etc/cloudera-scm-agent/ : agent的配置目錄。 ? /etc/cloudera-scm-server/ : server的配置目錄。 ? /opt/cloudera/parcels/ : Hadoop相關服務安裝目錄。 ? /opt/cloudera/parcel-repo/ : 下載的服務軟體包資料,資料格式為parcels。 ? /opt/cloudera/parcel-cache/ : 下載的服務軟體包快取資料。 ? /etc/hadoop/* : 客戶端配置檔案目錄。

想看下日誌,所以進入到/var/log目錄下:

[[email protected]]# ll /var/log/hadoop-yarn/
total 8984
-rw-r--r-- 1 yarn yarn   5447780 Sep  9 20:59 hadoop-cmf-yarn-NODEMANAGER-archive.cloudera.com.log.out
-rw-r--r-- 1 yarn yarn   3733829 Sep  9 20:59 hadoop-cmf-yarn-RESOURCEMANAGER-archive.cloudera.com.log.out
drwxr-xr-x 2 yarn hadoop    4096 Aug 30 09:13 stacks
這裡笨小蔥一開始以為程式中的日誌也會列印在這裡面(畢竟太笨了哭),找了一下發現壓根沒有。這下迷茫了,不知道去哪找了。於是就打算去clouder manager的webui中去看看。於是有了下面的查詢。







那麼問題來了,為什麼我剛才在伺服器的/var/log下沒有看到task中的日誌呢。難道在其他地方,經過一番查詢,發現了端倪。

yarn.nodemanager.remote-app-log-dir
查看了一下發現,這個屬性是配置MR的log位置。並且原來是在hdfs中儲存的。再見瞬間累覺不愛,於是趕快去看了一下這個屬性的值。



進入到hdfs中查看了一下,果然在裡面

[xxxxxx]$ hdfs dfs -ls /tmp/logs/hdfs/logs/application_1472623569489_0004
Found 3 items
-rw-r-----   3 hdfs hadoop      51456 2016-09-09 20:59 /tmp/logs/hdfs/logs/application_1472623569489_0004/archive.cloudera.com_8041
-rw-r-----   3 hdfs hadoop      71224 2016-09-09 20:59 /tmp/logs/hdfs/logs/application_1472623569489_0004/slave01_8041
-rw-r-----   3 hdfs hadoop       6007 2016-09-09 20:59 /tmp/logs/hdfs/logs/application_1472623569489_0004/slave02_8041

這裡三個檔案,分別是Maptask,redurceTask對應的log檔案,程式中的日誌也在這裡。

哎,不容易,終於找到他了。被自己笨哭。。。。。

相關推薦

CDH集中maptask日誌檔案位置整理

笨小蔥這周寫了一個讀取hbase中的資料到map中的很簡單的mr。然後放到cdh叢集中跑了一下,結果出現了一系列問題。其中最重要的一個問題竟然是,笨小蔥想去找我在mr程式中打的日誌,竟然苦苦找不到。所以這裡記錄下笨小蔥從頭到尾的一個過程。 1.打包執行mr 這裡笨小蔥執行

CDH集中YARN的引數配置

CDH叢集中YARN的引數配置 前言:Hadoop 2.0之後,原先的MapReduce不在是簡單的離線批處理MR任務的框架,升級為MapReduceV2(Yarn)版本,也就是把資源排程和任務分發兩塊分離開來。而在最新的CDH版本中,同時集成了MapReduceV1和MapReduceV2

配置檔案位置整理

1.使用者資訊檔案 /etc/passwd 2.影子檔案: /etc/shadow   加密後的密碼在此檔案裡面 3.組資訊檔案: /etc/group 4.修改系統預設執行級別(是否進入圖形介面3,5) vi  /etc/inittab init配置檔案 5. /

配置linux集中的NFS檔案共享服務 centos6.5Final

在計算機叢集中,往往需要檔案共享。檔案共享有很多方案。下面簡單幾個步驟,配置NFS服務來實現我們的專案需求。 當前伺服器環境:centos6.5Final rpcbind在舊版本的centos命名不同。 portmap新版下改名rpcbind 在虛擬機器下做實驗的時候,可先

CDH集中NameNode處於safe mode問題的解決

在安裝配置完3個節點的CDH集群后,在cloudera manager的主介面中顯示HDFS的紅色報警,點進去以後看到如下錯誤: 該NameNode當前處於safe mode. 嘗試在報錯的hadoop01節點上手動disable safe mode: hdfs dfsad

logback配置日誌檔案位置

logback輸出的日誌檔案,預設會放到“啟動程序”的目錄下面 比如說程式直接在eclipse裡跑,就會輸出到eclipse.exe所在的目錄下,如果是在tomcat中跑,就會輸出到%TOMCAT_HOME%/bin目錄下 <appender name="FILE"

mysql日誌檔案在哪 如何修改MySQL日誌檔案位置

MySQL日誌檔案相信大家都有很多的瞭解,MySQL日誌檔案一般在:/var/log/mysqld.log,下面就教您修改MySQL日誌檔案位置的方法,供您參考。 今天需要改MySQL日誌檔案的位置,發現在/etc/my.cnf中怎麼也改不了。 後來發現MySQL日誌位是指定的: [[email p

Linux crontab原始檔位置、執行日誌檔案位置、錯誤資訊檔案位置

Linux crontab定時任務: 1、原始檔位置:/var/log/cron 2、執行日誌檔案位置:/var/spool/cron/root,其中root是當前使用者名稱。 3、錯誤資訊檔案位置:/var/spool/mail/root,錯誤日誌中會記錄定時指令碼的環境

確認oracle資料庫錯誤日誌檔案位置

在命令列裡面輸入: show parameter background_dump_dest 執行之後會顯示一個目錄,這個目錄就是錯誤日誌目錄在這目錄下回有alert*.log類似這樣的檔案,這個就是錯誤日誌,直接使用文字編輯器開啟即可。

tomcat logs目錄下 日誌檔案含義及配置位置

    含義:Web伺服器訪問日誌配置位置:server.xml     含義:tomcat的標準輸出(stdout)和標準出錯(stderr),應用裡使用System.out列印的東西都會到這裡來,日誌框架,配置了向Console輸出的,則也會在這裡出現

CDH 5.3.9(parcels)集中hive0.13.0升級到hive-1.2.1步驟全,升級hive元資料庫,資料不丟失

2.將安裝包傳到叢集所有節點上 3.所有節點root使用者下  cd /opt/cloudera/parcels/CDH/lib/hive mkdir lib121 5.所有節點將解壓出來hive/lib下所有檔案拷貝到lib121 6.Coudera 介面

crontab檔案位置日誌位置

檔案位置/var/spool/cron/日誌檔案位置/var/log#ls /var/log/cron*錯誤日誌當crond執行任務失敗時會給使用者發一封郵件可以將每條crontab中的任務增加自己的日誌,便於查詢執行失敗原因。eg:6 * * * * /home/stack

關於logback.xml檔案 日誌輸出位置的問題

<!-- ch.qos.logback.classic.filter.ThresholdFilter 臨界值過濾器, 過濾掉低於指定臨界值的日誌 ch.qos.logback.classic.filter.LevelFilter 將過濾器的日誌級別配置為INFO

linux crontab 檔案位置日誌位置

一.檔案位置 位置一般在/var/spool/cron/下,如果你是root使用者,那下面有個root檔案,建議日常備份,避免誤刪除導致crontab 檔案丟失; 二.日誌檔案位置 預設情況下,cro

logback框架使用誤區 如何將所有包的ERROR級別日誌集中列印到一個日誌檔案

早就想寫這個事情了,起因是自己想寫一個東西,其中使用logback日誌框架記錄日誌 打算 將所有包的ERROR及以上級別日誌打到一個檔案中,各個包下的日誌打到對應包的檔案中。 起初寫的xml配置類似於這樣: <!-- 其中一個appender,

關於web專案log日誌指定輸出檔案位置配置

首先我們定義一個可以在執行時動態的找出專案的路徑WebAppRootKey,這麼做的原因是為了在後面配置log4j輸出檔案路徑的時候能隨心配置。 <context-param> <param-name>webAppRo

專案日誌檔案存放位置

路徑獲取 目的:  獲取當前使用者固定目錄,存放專案的執行日誌,方便日後對專案維護 函式簡單宣告: HRESULT SHGetMalloc(           LPMALLOC *ppMalloc ); HRESULT SHGetSpecialFolderLoca

Confluence 6 修改日誌檔案的目標位置

在 log4j 中,一個輸出被定義為 'appender'。希望修改 log 檔案的目標,你需要停止 Confluence 然後修改設定 log4j.properties 日誌配置檔案的  'Logging Location and Appender' 設定。有關這個檔案的路徑,請參考上面的說明。 在一個標

檢視Eclipse日誌檔案存放位置

獲取方法如有下幾種: (一)視窗 > 顯示檢視 > 其它 … > PDE 執行時 > 錯誤日誌 php程式設計師之家 此時就會顯示出一系列日誌內容,如我的日誌資訊顯示如下: Could not install bundle lomboz/eclipse/plugins/org

oracle引數檔案、控制檔案、資料檔案日誌檔案存放位置檢視

SQL> select * from v$logfile;     GROUP# STATUS  TYPE    MEMBER                                                                           IS_RECOVERY_