HDFS的基本概念(一)

  • 數據存入HDFS中時需要對其進行分片(split)、壓縮等操作。
  • HDFS使用Block(存儲塊)對文件的存儲進行操作,Block是HDFS的基本存儲單元,默認大小是64MB(Block較大的優點:可以減少用戶與節點之間的通信需求;Namenode利用率高)。每個Block的默認副本數爲3。
  • HDFS數據存儲的目標有兩個:最大化數據可靠性(每個數據塊有默認3個副本);最大化利用網絡帶寬資源。
  • 數據節點之間的距離:同一節點(0);同一機架上不同節點(3);同一數據中心不同節點上(6);不同數據中心(9)。該距離的計算,由網絡中的交換機的位置計算,該距離值是讀取數據時讀取節點的位置計算依據。
  • HDFS上的副本存放位置要對帶寬以及傳輸速率進行衡量。
  • 對於數據量較龐大而安全性不太高的數據,可以較少副本數目,或者關閉HDFS複製而採用硬盤Raid模式。
  • HDFS副本(3個副本的情況)存放:第一個副本存放在當前節點上;第二個副本存放在不同的機架上;第三個副本存放在同一機架上的不同節點上。
  • NameNode中存放的基本信息有個特定的名稱被叫做“元數據”,一般包括數據類型、大小、格式以及對象的存儲形式。
  • HDFS在數據寫入時,當節點出現故障時,只要默認的一個節點(dfs.replication.min)被寫入了,數據將自動在集羣鍵複製,直到複製達成第一好的次數。
  • HDFS通用操作命令:
    1. archive:創建一個hadoop檔案文件,使用方法:hadoop archive -archibeName NAME <src>* <dest>
    2. distcp:在相同的文件系統中並行複製文件,使用方法:hadoop distcp <src1> <src2>
    3. fs:運行一個常規的文件基本命令,使用方法:hadoop fs [COMMAND_OPTIONS]
    4. jar:運行一個內含Hadoop運行代碼的jar文件,使用方法:hadoop jar <jar> [mainClass] args
  • HDFS18個基本操作命令(文件路徑可以使用相對路徑,core-site.xml中已經對絕對路徑進行了指定):
  1. -help
  2. -cat
  3. -copyFromLocal
  4. -copyToLocal
  5. -cp
  6. -du
  7. -dus(顯示目標文件大小)
  8. expugunge(清空回收站)
  9. -get
  10. -ls
  11. -lsr
  12. -mkdir
  13. -mv
  14. -put
  15. -rm
  16. -rmr
  17. -setrep
  18. -test(使用ezd對文件進行檢查)
  19. -text(將源文件輸出爲文本格式)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章