hdfs

关系型数据库  vs  hadoop
并行关系数据:多个独立的关系数据库服务器,访问共享的存储资源池
优势:采用多个关系数据库服务器,多个储存,与原有结构相比,拓展了存储能力与计算能力
劣势:1,计算与存储分离,数据访问存在存储竞争与带宽限制
2,支持的关系数据库服务器数量有限
3,只能向上拓展,不能横向拓展,否则就得更改原本数据的数据结构
适用于复杂的需要事物处理的应用
mpp or hadoop:由大量的单个服务器通过网络互连形成集群,每个服务器自带存储
优势:计算与存储结合,支持横向扩张,更好的扩展性
劣势:解决数据冲突时需要节点协作
适用范围:数据仓库离线数据分析
大规模在线实时应用(单行事物处理能满足的场景)(hbase)

HDFS介绍
可靠性,创建了多和数据块的复制,并将它们放在各个计算节点中,mapreduce就可以在它们所在的节点处理这些数据了,并且观察到a数据所在的某个节点比较繁忙,就会在a数据所在的另一个节点做处理
namenode:
存储元数据(包括文件名,权限。。。)
元数据保存在内存中,
保存block,datanode之间的映射关系
datanode:
存储文件内容
文件内容保存在磁盘
维护block id 到datanode本地文件之间的映射关系
HDFS运行机制
一个名字节点和多个数据节点
数据复制(冗余机制)
存放的位置(机架感应策略)
故障检测:
数据节点:
心跳包(检测是否down机)
块报告(安全模式下检测)
数据完整性校验(校验和比较)
名字节点:
日志文件,镜像文件
空间回收机制
HDFS优点:
高容错性
数据自动保存多个副本
副本丢失后自动恢复
适合批处理
移动计算而非数据
数据位置暴露给计算框架
适合大数据处理
可构建在廉价机器上
HDFS缺点:
低延迟数据访问
小文件存取
占用大量的namenode内存
寻道时间超过读取时间
并发写入,文件随机修改
一个文件只能有一个写者
仅仅支持append
HDFS数据存储单元(block)
文件被切分成固定大小的数据块
默认数据块大小为64mb,可以配置
若文件大小不足64mb,也会存储为一个块
一个文件存储方式
被切分成多个块,存储在不同的节点
每个数据块默认会有三个备份
block和副本数通过client端上传文件时设置,文件上传成功后,block size不可以变,副本数可以变
NAMENODE(NN)
namenode主要功能:接受客户端的读写服务
namenode保存metadata信息包括:
文件ownership and permission
文件包含那些块
block保存在哪个datanode中(数据位置)(由daanide启动时上报到datanode中,在加载到内存,不到磁盘)
namenode的metadata信息在启动后回家再到内存中
namendoe存储到磁盘文件名为‘fsimage’
block位置信息不会保存到faimage中
edits记录对metadata的操作文件(间歇性比对fsimage信息,增删改查(由secondarynamenode操作))

SECONDARYNAMENODE(SNN)
他不是NN的备份(但是可以做备份),他的主要工作是帮助namenode合并edits log,减少启动时间,因为namendoe节点的主要你任务是与client交互
SNN执行合并时机
根据配置文件设置的时间间隔 fs checkpoint period默认是3600s
根据配置文件设置的edits log 大小fs checkpoint size规定edits文件的最大值默认为64mb
DATANODE(DN)
存储数据(block)
启动DN线程的时候会向NN汇报block情况
通过向NN发送心跳保持与其联系(3s一次),如果NN10分钟没有收到DN的信息,就认为DN已经down,并copy其上的block到其他DN
BLOCK的副本放置策略
第一个副本:放置在上传文件的DN,如果是集群外提交,则随机挑选一台磁盘不是满,cpu不是太忙的节点
第二个副本:放置在第一个副本不同的机架的节点上面
第三个副本:与第二个副本相同的机架上面。
更多副本:random put

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值