自行整理, 學習用途, 侵知刪歉
NameNode內存分配
當一個NameNode
運行的時候, 所有的metaData都儲存在RAM中(快速響應);
item
(150 - 200 bytes)
:
-文件名, 權限等
-每一個block的信息
為什么HDFS適合少卻大的文件: 分出來的block比較少, 利于查找讀取
HDFS 文件權限
HDFS中的文件有所有者, 組, 權限. [和linux類似]
文件權限
讀 | 寫 | 執(zhí)行 |
---|---|---|
r | w | x |
對于路徑, x意味著他的children可以訪問
HDFS believes you are who you tell it you are
HDFS的安全性包括授權(authorization), 但是卻比較基礎, 如果要加強, 可以集成Kerberos
NameNode Web UI
HDFS file shell
HDFS不是一個通用文件系統(tǒng), 所以需要特殊的軟件訪問.
客戶端用戶一般可以用hadoop fs command
指令訪問HDFS.
- 顯示/user/fred/sales.txt的文件內容
$ hadoop fs -cat /usr/fred/sales.txt
- 新建一個
report
路徑
$ hadoop fs -mkdir /reports
- 上傳,獲取HDFS文件
![]](http://upload-images.jianshu.io/upload_images/2173882-4f1fabedde0fdd7d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
$ hadoop fs -put sale.txt /reports
$ hadoop fs -get /reports/sales.txt
- 獲得一個HDFS路徑下列表
$ hadoop fs -ls /
- 刪除文件
$ hadoop fs -rm /reports/sales.txt
總結
- HDFS通過在機器間分布大文件塊來支持MapReduce的數(shù)據(jù)本地化
- HDFS通過數(shù)據(jù)備份來實現(xiàn)容錯機制
- NameNode守護進程在內存中擁有所有HDFS metadata, 同時也保存在硬盤上