基于谷歌的论文
GFS ----hdfs
MAP-Reduce
做的实现 Hadoop 解决的问题 如何存储 及分析
Bigtable ---Hbase(列式数据库) PB级别
具体应用 网盘 基于 hdfs
一、HDFS优点
高容错性 1.数据自动保存多个副本 (随机存放)2.副本丢失后,自动恢复
适合批处理
适合大数据处理 1.GB,TB,PB 2.10K节点 3.百万规模以上的文件数据
二、缺点
不适合小文件 例如几M, 因为 先要寻址 占用时间较长
不支持修改内容(因为一个文件有多个副本,文件大小变化,切分规则也会变化)
支持append (生产中一般不用)
元数据信息--NameNode(文件的一些属性信息存在内存中) 占用150b左右
数据存放在DataNode(至少三台)
HDFS数据存储单元(block)文件被切分成固定的数据块默认64M
默认每个block默认都有三个副本,block 大小不可更改,个数可以更改
NameNode 只有一个是active
接受客户端的读写服务
元数据信息 包括
1.文件的权限信息
2.文件包含哪些BLOCK
3.BLOCK 保存在哪个DataNode
(元数据持久化叫)fsimage 持久化 包括1,2
edits记录 包括操作日志
SeconddaryNameNode (1.X, 2.x没做高可用的时候有) 主要工作合并fsimage和edits,减少NameNode启动时间
SeconddaryNameNode 只能备份一部分NameNode信息
触发合并
1在配置文件中配置, 默认3600秒
2edits 达到64M
启动DataNode时会自动想NameNode汇报block信息
通过向NameNode发送心跳(3秒一次),如果10分钟没有收到,会copy其上的block到其他DN