欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Hadoop調(diào)試源代碼-創(chuàng)新互聯(lián)

本節(jié)介紹兩種調(diào)試Hadoop源代碼的方法:利用Eclipse遠(yuǎn)程調(diào)試工具和打印調(diào)試日志。這兩種方法均可以調(diào)試偽分布式工作模式和完全分布式工作模式下的Hadoop。本節(jié)主要介紹偽分布式工作模式下的Hadoop調(diào)試方法。

公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出臨城免費(fèi)做網(wǎng)站回饋大家。

(1)利用Eclipse進(jìn)行遠(yuǎn)程調(diào)試

下面以調(diào)試ResourceManager為例,介紹利用Eclipse遠(yuǎn)程調(diào)試的基本方法,這可分兩步進(jìn)行。

步驟1 調(diào)試模式下啟動(dòng)Hadoop。

在Hadoop安裝目錄下運(yùn)行如下的Shell腳本:

export YARN_NODEMANAGER_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8788, server=y,suspend=y"

sbin/start-all.sh

運(yùn)行了腳本后會(huì)看到Shell命令行終端顯示如下信息:

Listening for transport dt_socket at address: 8788

此時(shí)表明ResourceManager處于監(jiān)聽狀態(tài),直到收到debug確認(rèn)信息。

步驟2 設(shè)置斷點(diǎn)。

在前面新建的Java工程“hadoop-2.0”中,找到ResourceManager相關(guān)代碼,并在感興趣的地方設(shè)置一些斷點(diǎn)。

步驟3 在Eclipse中調(diào)試Hadoop程序。

在Eclipse的菜單欄中,依次選擇 “Run”→“Debug Configurations”→“Remote Java Applications”,并按照要求填寫遠(yuǎn)程調(diào)試器名稱(自己定義一個(gè)即可),ResourceManager所在host以及監(jiān)聽端口號(hào)等信息,并選擇Hadoop源代碼工程,便可進(jìn)入調(diào)試模式。

調(diào)試過程中,ResourceManager輸出的信息被存儲(chǔ)到日志文件夾下的yarn-XXX-resourcemanager-localhost.log文件(XXX為當(dāng)前用戶名)中,可通過以下命令查看調(diào)試過程中打印的日志:

tail -f logs/yarn-XXX-resourcemanager-localhost.log

(2)打印Hadoop調(diào)試日志

Hadoop使用了Apache log4j作為基本日志庫,該日志庫將日志分別5個(gè)級(jí)別,分別為DEBUG、INFO、WARN、ERROR和FATAL。這5個(gè)級(jí)別是有順序的,即DEBUG < INFO < WARN < ERROR < FATAL,分別用來指定日志信息的重要程度。日志輸出規(guī)則為:只輸出級(jí)別不低于設(shè)定級(jí)別的日志信息,比如若級(jí)別設(shè)定為INFO,則INFO、WARN、ERROR和FATAL級(jí)別的日志信息都會(huì)輸出,但級(jí)別比INFO低的DEBUG則不會(huì)輸出。

在Hadoop源代碼中,大部分Java文件中存在調(diào)試日志(DEBUG級(jí)別日志),但默認(rèn)情況下,日志級(jí)別是INFO,為了查看更詳細(xì)的運(yùn)行狀態(tài),可采用以下幾種方法打開DEBUG日志。

方法1 使用Hadoop Shell命令。

可使用Hadoop腳本中的daemonlog命令查看和修改某個(gè)類的日志級(jí)別,比如,可通過以下命令查看NodeManager類的日志級(jí)別:

bin/hadoop daemonlog -getlevel ${nodemanager-host}:8042 \

org.apache.hadoop.yarn.server.nodemanager.NodeManager

可通過以下命令將NodeManager類的日志級(jí)別修改為DEBUG:

bin/hadoop daemonlog -setlevel ${nodemanager-host}:8042 \

org.apache.hadoop.yarn.server.nodemanager.NodeManager DEBUG

其中,nodemanager-host為NodeManager服務(wù)所在的host,8042是NodeManager的HTTP端口號(hào)。

方法2 通過Web界面。

用戶可以通過Web界面查看和修改某個(gè)類的日志級(jí)別,比如,可通過以下URL修改NodeManager類的日志級(jí)別:

http://${nodemanager-host}:8042/logLevel

方法3 修改log4j.properties文件。

以上兩種方式只能暫時(shí)修改日志級(jí)別,當(dāng)Hadoop重啟后會(huì)被重置,如果要永久性改變?nèi)罩炯?jí)別,可在目標(biāo)節(jié)點(diǎn)配置目錄下的log4j.properties文件中添加以下配置選項(xiàng):

log4j.logger.org.apache.hadoop.yarn.server.nodemanager.NodeManager=DEBUG

此外,有時(shí)為了專門調(diào)試某個(gè)Java文件,需要把該文件的相關(guān)日志輸出到一個(gè)單獨(dú)文件中,可在log4j.properties中添加以下內(nèi)容:

#定義輸出方式為自定義的TTOUT

log4j.logger. org.apache.hadoop.yarn.server.nodemanager.NodeManager=DEBUG,TTOUT

#設(shè)置TTOUT的輸出方式為輸出到文件

log4j.appender.TTOUT =org.apache.log4j.FileAppender

#設(shè)置文件路徑

log4j.appender.TTOUT.File=${hadoop.log.dir}/NodeManager.log

#設(shè)置文件的布局

log4j.appender.TTOUT.layout=org.apache.log4j.PatternLayout

#設(shè)置文件的格式

log4j.appender.TTOUT.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n

這些配置選項(xiàng)會(huì)把NodeManager.java中的DEBUG日志寫到日志目錄下的NodeManager.log文件中。

在閱讀源代碼的過程中,為了跟蹤某個(gè)變量值的變化,讀者可能需要自己添加一些DEBUG日志。在Hadoop源代碼中,大部分類會(huì)定義一個(gè)日志打印對(duì)象,通過該對(duì)象可打印各個(gè)級(jí)別的日志。比如,在NodeManager中用以下代碼定義對(duì)象LOG:

public static final Log LOG = LogFactory.getLog(NodeManager.class);

用戶可使用LOG對(duì)象打印調(diào)試日志。比如,可在NodeManager的main函數(shù)首行添加以下代碼:

LOG.debug("Start to lauch NodeManager...");

然后重新編譯Hadoop源代碼,并將org.apache.hadoop.yarn.server.nodemanager.NodeManager的調(diào)試級(jí)別修改為DEBUG,重新啟動(dòng)Hadoop后便可以看到該調(diào)試信息。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁標(biāo)題:Hadoop調(diào)試源代碼-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://www.chinadenli.net/article36/dighpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化品牌網(wǎng)站設(shè)計(jì)動(dòng)態(tài)網(wǎng)站服務(wù)器托管虛擬主機(jī)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司