WizardWu 編程網

一位台灣的工程師,接觸 .NET 逾十年,近年研究 SQL Server、Performance Tuning、手機應用

博客园 首页 新随笔 联系 订阅 管理

Hadoop 裡的 fsck 指令,可檢查 HDFS 裡的檔案 (file),是否有 corrupt (毀損) 或資料遺失,並產生 HDFS 檔案系統的整體健康報告。報告內容,包括:
Total blocks (區塊的總個數)、Average block replication (平均副本個數)、Corrupt blocks、遺失的區塊個數、...等等。
-------------------------
指令如下:

舊版:
hadoop fsck /
新版:
hdfs fsck /

hdfs fsck --help

hdfs fsck / -files -blocks -locations
(可用來找出哪些是有遺失區塊的檔案,以及哪些區塊是放在哪台資料節點上)


圖 1
-------------------------
若健康則顯示:
Status: HEALTHY

若有毀損則顯示:
Status: CORRUPT
-------------------------
Hadoop 的 fsck 不像 Linux 的 fsck,前者預設是不具有破壞性的,不會去修正檢查到的錯誤,因此可每天執行以做檢查。fsck 是只跟 metadata 有關的操作,其需要的資訊,都可從 NameNode 取得,因此不必和 cluster 所有的 NameNode 溝通。但其 RPC (遠端程序呼叫) 次數可能較高,因此建議在離峰時間來進行檢查。

CCAH 證照 (CCA-500) 會考到這個指令的用途,但不會考細部的功能及參數,只要知道 fsck 大概的功能即可。
-------------------------
參考書籍:
[1] Hadoop Operations: A Guide for Developers and Administrators, ch2、ch10
http://shop.oreilly.com/product/0636920025085.do

Commands Guide:
https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html#fsck


posted on 2016-05-10 01:43  WizardWu  阅读(1576)  评论(0编辑  收藏  举报