HDFS查看edits
命令hdfs oev用于查看edits文件。

該命令需要以下參數(shù):
必須參數(shù):
-i,–inputFile <arg> 輸入edits文件,如果是xml后綴,表示XML格式,其他表示二進(jìn)制。
-o,–outputFile <arg> 輸出文件,如果存在,則會(huì)覆蓋。
可選參數(shù):
-p,–processor <arg> 指定轉(zhuǎn)換類(lèi)型: binary (二進(jìn)制格式), xml (默認(rèn),XML格式),stats (打印edits文件的靜態(tài)統(tǒng)計(jì)信息)
**-h,–help ** 顯示幫助信息
-f,–fix-txids 重置輸入edits文件中的transaction IDs
-r,–recover 使用recovery模式,跳過(guò)eidts中的錯(cuò)誤記錄。
**-v,–verbose ** 打印處理時(shí)候的輸出。
例子1****:
hdfs oev -i /data1/hadoop/dfs/name/current/edits_0000000000019382469-0000000000019383915 -o /home/hadoop/edits.xml
未指定-p選項(xiàng),默認(rèn)轉(zhuǎn)換成xml格式,查看edits.xml文件:

在輸出的xml文件中,每個(gè)RECORD記錄了一次操作,比如圖中的OP_ADD代表添加文件操作,OP_MKDIR代表創(chuàng)建目錄操作。里面還記錄了文件路徑(PATH),修改時(shí)間(MTIME)、添加時(shí)間(ATIME)、客戶端名稱(chēng)(CLIENT_NAME)、客戶端地址(CLIENT_MACHINE)、權(quán)限(PERMISSION_STATUS)等非常有用的信息。
當(dāng)edits文件破損進(jìn)而導(dǎo)致HDFS文件系統(tǒng)出現(xiàn)問(wèn)題時(shí),可以通過(guò)將原有的binary文件轉(zhuǎn)換為xml文件,并手動(dòng)編輯xml文件然后轉(zhuǎn)回binary文件來(lái)實(shí)現(xiàn)。
例子2:
hdfs oev -i /data1/hadoop/dfs/name/current/edits_0000000000019382469-0000000000019383915 -o /home/hadoop/edits.txt -p stats
指定-p stats選項(xiàng),用于輸出該edits文件中的統(tǒng)計(jì)信息:
查看edits.txt,打印出該edits文件中每種操作的數(shù)量。
