首页  

HDFS特点及优缺点     所属分类 bigdata 浏览量 1379
特点

分块存储(block) 块大小配置 dfs.blocksize 
默认大小 hadoop2.x 版本  128M,老版本  64M

提供统一的抽象目录树,客户端通过路径访问文件

hdfs://namenode:port/x/y/z/abc.data

namenode  负责维护 hdfs 文件系统目录树,每一个文件对应的 block 块信息(block id,及所在的 datanode 服务器)

datanode 负责 block 的读写
副本数量 参数设置 dfs.replication,默认 3

适合一次写入,多次读取的场景,不支持修改,只支持追加



优点

1.可构建在廉价机器上
2.高容错性:通过多副本提高可靠性,提供了容错和恢复机制 , 副本丢失后,自动恢复
3.适合批处理
4.移动计算而非数据,数据位置暴露给计算框架
5.适合大数据处理:GB、TB、甚至 PB 级数据,百万规模以上的文件数量,10K+节点规模
6.一次性写入,多次读取,保证数据一致性

缺点

1.不支持低延迟数据访问 ,比如毫秒级  
2.不太支持大量小文件存取 ,占用 NameNode 大量内存
3.不支持并发写入 ,一个文件只能有一个写 , 不支持随机修改 ,仅支持 append  
hadoop fs -appendToFile xxx.txt /xxx.txt


为何不适合存储小文件

1.元信息存储在 NameNode 内存中 , 一个节点的内存是有限的 ,NameNode 存储 block 数目是有限的 , 
  一个 block 元信息消耗大约 150 byte 内存,存储 1 亿个 block,大约需要 20GB 内存 ,
  如果一个文件大小为 10K,则 1 亿个文件大小仅为 1TB ,但要消耗掉 NameNode 20GB内存 
  
2.存取大量小文件消耗大量的寻道时间

上一篇     下一篇
HDFS Federation 机制

CDH 5.14.2 各种角色

cdh5 mapreduce 例子

hdfs安全模式

文件内容对比技巧

Maven命令行直接运行SpringBoot项目