自行整理, 学习用途, 侵知删歉
NameNode内存分配
当一个NameNode
运行的时候, 所有的metaData都储存在RAM中(快速响应);
item
(150 - 200 bytes)
:
-文件名, 权限等
-每一个block的信息
为什么HDFS适合少却大的文件: 分出来的block比较少, 利于查找读取
HDFS 文件权限
HDFS中的文件有所有者, 组, 权限. [和linux类似]
文件权限
读 | 写 | 执行 |
---|---|---|
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不是一个通用文件系统, 所以需要特殊的软件访问.
客户端用户一般可以用hadoop fs command
指令访问HDFS.
- 显示/user/fred/sales.txt的文件内容
$ hadoop fs -cat /usr/fred/sales.txt
- 新建一个
report
路径
$ hadoop fs -mkdir /reports
- 上传,获取HDFS文件
![]](https://img.haomeiwen.com/i2173882/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的数据本地化
- HDFS通过数据备份来实现容错机制
- NameNode守护进程在内存中拥有所有HDFS metadata, 同时也保存在硬盘上
网友评论