Hadoop的fsck工具
HDFS支援fsck命令用以檢查各種不一致。fsck用以報告各種檔案問題,如block丟失或缺少block等。fack命令用法如下:
bin/hadoop fsck [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]
-move 將損壞的檔案移動到/lost+found下面
-delete 刪除損壞的檔案
-openforwrite 列印出正在寫的檔案
-files 列印出所有被檢查的檔案
-blocks 列印出block報告
-locations 列印出每個block的位置
-racks 列印出datanode的網路拓撲結構
預設情況下,fsck會忽略正在寫的檔案,使用-openforwrite選項可以彙報這種檔案。
下面是用命令列在一個測試叢集上執行fsck後的結果:
.......Status: HEALTHY
Total size: 32454532 B
Total dirs: 17
Total files: 7
Total blocks (validated): 7 (avg. block size 4636361 B)
Minimally replicated blocks: 7 (100.0 %)
Over-replicated blocks: 0 (0.0 %)
Under-replicated blocks: 0 (0.0 %)
Mis-replicated blocks: 0 (0.0 %)
Default replication factor: 3
Average block replication: 3.7142856
Corrupt blocks: 0
Missing replicas: 0 (0.0 %)
Number of data-nodes: 45
Number of racks: 1
需要注意的是在執行fsck命令列的客戶端必選在hadoop-site.xml中配置dfs.http.address項,即namenode的http地址。否則會丟擲java.net.ConnectException: Connection refused異常。其原因是fsck是namenode的一個servlet。而fsck命令對應的類DFSck其實是封裝了一個http連線,簡單的說就是抓取一個網頁。而這個網頁URL就是dfs.http.address配置項的value後面接上fsck,如。也就是說用瀏覽器開啟這個網頁和命令列執行fsck效果是一樣的。
namenode的這個Servlet類名是FsckServlet,它的doGet函式里定義了一個NamenodeFsck物件並執行起fsck()函式。fack()函式遞迴地從指定path遍歷所有的目錄和檔案,並根據選項確定要列印的內容。如果指定了-move選項,則損壞的檔案會被移動到/lost+found目錄,如果在根目錄下已經存在一個名為lost+found的檔案,則move操作會失敗並列印warning資訊。
對於大的叢集來說,對根目錄執行fsck操作是很耗時間的而且對namenode壓力很大,因此要謹慎使用。通常每天在叢集較空閒的時候執行一次以檢視資料狀況。另外由於任何使用者都可以在命令列或瀏覽器中執行fsck操作,因此可以考慮對該操作進行 許可權控制,防止被誤操作。
原文地址:http://blog.csdn.net/liangliyin/article/details/5872172
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29754888/viewspace-1239994/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- hadoop命令fsck命令Hadoop
- Hadoop 工具的認識Hadoop
- fsck-Linux檔案系統檢查工具介紹(轉)Linux
- Linux基礎命令---fsckLinux
- 大資料hadoop工具大資料Hadoop
- Hadoop 工具集的簡單羅列 [整理]Hadoop
- Apache Ranger——Hadoop ACL控制工具ApacheRangerHadoop
- hadoop開源工具大集合Hadoop開源工具
- Hadoop工具生態系統指南Hadoop
- Linux基礎命令—e2fsckLinux
- Linux基礎命令---e2fsckLinux
- Linux技巧:使用Fsck命令修復損壞的分割槽Linux
- Hadoop源生實用工具之distcpHadoopTCP
- 實戰:vxfs fsck: unrecognized vxfs version number案例(轉)Zed
- unexpected inconsistency;RUN fsck MANUALLY 解決方案
- Linux命令詳解:e2fsck(轉)Linux
- Hadoop:你不得不瞭解的大資料工具Hadoop大資料
- 【LINUX學習】磁碟檢驗 fsck ,badblocksLinuxBloC
- BDA:Hadoop生態大資料工具的漏洞掃描器Hadoop大資料
- 大資料分析系統Hadoop的13個開源工具!大資料Hadoop開源工具
- 大資料分析系統Hadoop的13個開源工具大資料Hadoop開源工具
- Linux 開機自檢的設定(tune2fs和fsck)Linux
- hadoop匯入資料工具sqoop介紹Hadoop
- Linux檔案系統df、du、fsck命令講解Linux
- 如何使用Hadoop捆綁的低階工具進行資料提取?Hadoop
- solaris 10的fsck 相關用法及.rhosts另hosts.equiv檔案配置UI
- 分享Hadoop處理大資料工具及優勢Hadoop大資料
- Hadoop打包與測試工具Bigtop簡介OHHadoop
- Hadoop的故事Hadoop
- Hadoop的PartitionerHadoop
- 十八款Hadoop工具幫你馴服大資料Hadoop大資料
- hadoop:spark-project專案的hadoop配置HadoopSparkProject
- hadoop1.0 和 Hadoop 2.0 的區別Hadoop
- 基於linux系統,fsck後資料丟失的資料恢復方案Linux資料恢復
- Hadoop視覺化與互動式工具:Zeppelin和HueHadoop視覺化
- 檢查 Linux 檔案系統中的錯誤:透過案例學習 FSCK 命令Linux
- 將Hadoop部署在雲上的好處,Hadoop的官方wikiHadoop
- [Hadoop]以前整理的一份Hadoop學習指南Hadoop