Hadoop分佈式文件系統使用指南
- 文件權限和授權。
- 機架感知(Rack awareness):在調度任務和分配存儲空間時考慮節點的物理位置。
- 安全模式:一種維護需要的管理模式。
- fsck:一個診斷文件系統健康狀況的工具,能夠發現丟失的文件或數據塊。
- Rebalancer:當datanode之間數據不均衡時,平衡集群上的數據負載。
- 升級和回滾:在軟件更新後有異常發生的情形下,能夠回滾到HDFS升級之前的狀態。
- Secondary Namenode:對文件系統名字空間執行週期性的檢查點,將Namenode上HDFS改動日誌文件的大小控制在某個特定的限度下。
DFSAdmin 命令
-report
報告HDFS的基本統計信息。有些信息也可以在NameNode Web服務首頁看到
$ bin/hadoop dfsadmin -report
- 執行畫面
Total raw bytes: 59529687040 (55.44 GB) Remaining raw bytes: 46887116647 (43.67 GB) Used raw bytes: 24576 (24 KB) % used: 0% Total effective bytes: 0 (0 KB) Effective replication multiplier: Infinity ------------------------------------------------- Datanodes available: 1 Name: 140.110.141.129:50010 State : In Service Total raw bytes: 59529687040 (55.44 GB) Remaining raw bytes: 46887116647(43.67 GB) Used raw bytes: 24576 (24 KB) % used: 0% Last contact: Wed Apr 01 14:49:39 CST 2009
-safemode
雖然通常並不需要,但是管理員的確可以手動讓!NameNode進入或離開安全模式。
$ bin/hadoop dfsadmin -safemode Usage: java DFSAdmin [-safemode enter | leave | get | wait]
$ bin/hadoop dfsadmin -safemode enter Safe mode is ON $ bin/hadoop dfsadmin -safemode leave Safe mode is OFF
安全模式的作用
- !NameNode啟動時會從fsimage和edits日誌文件中裝載文件系統的狀態信息,接著它等待各個!DataNode向它報告它們各自的數據塊狀態,這樣,!NameNode就不會過早地開始複製數據塊,即使在副本充足的情況下。
- 這個階段,!NameNode處於安全模式下。!NameNode的安全模式本質上是HDFS集群的一種只讀模式,此時集群不允許任何對文件系統或者數據塊修改的操作。通常!NameNode會在開始階段自動地退出安全模式。
- 如果需要,你也可以通過'bin/hadoop dfsadmin -safemode'命令顯式地將HDFS置於安全模式。!NameNode首頁會顯示當前是否處於安全模式。關於安全模式的更多介紹和配置信息請參考JavaDoc:setSafeMode()。
-finalizeUpgrade
刪除上一次升級時製作的集群備份
Secondary NameNode
- Secondary !NameNode定期合併fsimage和edits日誌,將edits日誌文件大小控制在一個限度下。因為內存需求和!NameNode在一個數量級上,所以通常secondary !NameNode和!NameNode運行在不同的機器上。
- Secondary !NameNode由bin/start-dfs.sh在conf/masters中指定的節點上啟動
- conf/masters的作用為:指定secondarynamenode,此檔內可寫入多個ip,則有多個第二名稱節點。(已由ip被寫入此檔的節點都會有第二名稱節點日誌而得到驗證)
$ bin/hadoop-daemon.sh --config ./conf start secondarynamenode starting secondarynamenode, logging to /tmp/hadoop/logs/hadoop-waue-secondarynamenode-Dx7200.out
動態加入datanode 與 tasktracker
- 是否能連到正確的namenode取決於conf/hadoop-site.xml,目前測試結果與conf/slave、masters無關
$ bin/hadoop-daemon.sh --config ./conf start datanode starting datanode, logging to /tmp/hadoop/logs/hadoop-waue-datanode-Dx7200.out
$ bin/hadoop-daemon.sh --config ./conf start tasktracker starting tasktracker, logging to /tmp/hadoop/logs/hadoop-waue-tasktracker-Dx7200.out
balancer
用於分析數據塊分佈和重新平衡!DataNode上的數據分佈
$ bin/hadoop balancer Time Stamp Iteration# Bytes Already Moved Bytes Left To Move Bytes Being Moved 09/04/01 18:00:08 INFO net.NetworkTopology: Adding a new node: /default-rack/140.110.138.191:50010 09/04/01 18:00:08 INFO net.NetworkTopology: Adding a new node: /default-rack/140.110.141.129:50010 09/04/01 18:00:08 INFO dfs.Balancer: 0 over utilized nodes: 09/04/01 18:00:08 INFO dfs.Balancer: 0 under utilized nodes: The cluster is balanced. Exiting... Balancing took 186.0 milliseconds
機架感知(Rack awareness)
據說是設定某個參數 dfs.network.script ,旦目前為止還是不知道這個參數在哪
References
Last modified 16 years ago
Last modified on Apr 2, 2009, 11:48:53 AM