
HDFS
維運工作
|
217
因此讓用戶端看到部份副本的區塊,並沒有什麼危害。平衡
HDFS
區塊資料也需要管
理者權限,就像其他管理指令一樣:
1.
切換成
HDFS
超級用戶或者有同等權限的身份(或在執行指令時,使用
sudo -u
username
)。
2.
執行
hadoop balancer -threshold
N
將平衡器在前景執行,其中
N
是資料節點之
間應該維持的區塊比例。要提前中止流程,按下
Control+C
或者在另一個終端機
執行
kill
process-id
。或者,
Apache Hadoop
的使用者可以將流程運行在背景,
透過
start-balancer.sh
腳本;
CDH
使用者則可使用
hadoop-0.20-balancer
的
啟動腳本。
3.
監控輸出(或日誌檔,如果您選擇將平衡器運行於背景),以追蹤進度。
處理故障的硬碟
面對大量的主機,每台都有大量的硬碟,硬碟發生故障並不罕見。如您前面讀到的,
HDFS
與
MapReduce
都是基於能容許硬碟失效而設計的,但有時故障的硬碟還是需要
替換的。處理工作節點的硬碟故障,通常比處理主控節點的問題來得簡單許多。流程
包括暫時將節點從叢集移除,更換硬碟,然後將節點重新加入叢集。工作節點的程序,
像是
DataNode
與
TaskTracker
都能在維護前關閉,好自叢集移除受影響的節點,細節
請參閱第
207
頁的「使用啟動腳本啟動或關閉程序」。在相當忙碌的叢集中,若是時
間允許,遵循除役程序(詳見第
209
頁的「除役一個資料節點」)讓資料節點可以維
持完整的副本,也是合理的。 ...