DFS是一種允許文件通過網絡在多臺主機上分享的文件系統分布式文件管理系統很多,hdfs只是其中一種.
適用于一次寫入多次查詢的情況,不支持并發寫情況,小文件不合適.
#hadoop fs -ls /? 查看HDFS根目錄
#hadoop fs -mkdir /test 在根目錄創建一個目錄test
#hadoop fs -mkdir /test1 在根目錄創建一個目錄test1
#hadoop fs -put ./test.txt /test
#hadoop fs -get /test/test.txt .
#hadoop fs -cp /test/test.txt /test1
#hadoop fs -rm /test1/test.txt
#hadoop fs -mv /test/test.txt /test1
#hadoop fs -rmr /test1
------------------------------------
(1)Namenode
是整個文件系統的管理節點.它維護著整個文件系統的文件目錄樹,文件/目錄的元信息和每個文件對應的數據塊列表.接收用戶的操作請求.
hdfs-site.xml的dfs.name.dir屬性
fsimage:元數據鏡像文件.存儲某一時段NameNode內存元數據信息.
edits:操作日志文件.
fstime:保存最近一次checkpoint的時間.
以上這些文件是保存在linux的文件系統中.
(2)Datanode
提供真實文件數據的存儲服務.
hdfs-site.xml的dfs.replication屬性
文件塊(block):最基本的存儲單位.對于文件內容而言,一個文件的長度大小是size,那么從文件的0偏移開始,按照固定的大小,
順序對文件進行劃分并編號,劃分好的每一個塊稱一個Block.HDFS默認Block大小是64MB,以一個256MB文件,共有256/64=4個Block.
不同于普通文件系統的是,HDFS中,如果一個文件小于一個數據塊的大小,并不占用整個數據塊存儲空間Replication。多復本。默認是三個.
(3)SecondaryNameNode
HA的一個解決方案.但不支持熱備.
執行過程:從NameNode上下載元數據信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并將其推送到NameNode,
同時重置NameNode的edits.
默認在安裝在NameNode節點上,但這樣...不安全!