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项目