wiki:waue/2009/0401

Version 20 (modified by waue, 16 years ago) (diff)

--

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

不知道安全模式有何作用??

-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

References