Hadoop学习笔记(2)-HDFS

自行整理, 学习用途, 侵知删歉

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

Hadoop学习笔记(2)-HDFS_第1张图片

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文件
    ![]](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的数据本地化
  • HDFS通过数据备份来实现容错机制
  • NameNode守护进程在内存中拥有所有HDFS metadata, 同时也保存在硬盘上

你可能感兴趣的:(Hadoop学习笔记(2)-HDFS)