Hadoop-HDFS总结(一)

HDFS优点

1.容错性高:
(1)数据在多个副本里自动保存,提高了容错性。
(2)某一副本丢失后可以自动恢复。
2.适合处理大量数据
(1)数据规模:可以处理GB,TB,甚至PB级别的数据。
(2)文件规模:可以大量的文件(百万规模)。
3.可以在廉价的机器上,通过多副本机制,提高可靠性。

HDFS缺点

1.不适合低延时数据访问,例如毫秒级数据访问。
2.无法高效对大量小文件进行存储。
(1)存储文件过小,会占用NameNode的内存来存储大量的文件目录和块信息,NameNode内存有限,故不可取。
(2)小文件的寻址时间会超过读取时间,这违反了HDFS设计的初衷。
3.不支持并发文件写入,文件随机修改。
(1)一个文件只能一个写,不能多个线程同时写。
(2)支持文件(append)追加,不支持文件随机修改。

HDFS组成架构

1.NameNode :主管,管理者
(1)管理HDFS名称空间。
(2)配置副本策略。
(3)管理数据块映射信息。
(4)处理客户端读写请求。
2.DataNode :Slave NameNode下达命令,DataNode执行操作。
(1)储存实际数据块。
(2)执行数据块读/写操作。
3.Client:客户端
(1)文件切分,文件上传HDFS的时候,Client将文件切成一个一个Block进行上传。
(2)与NameNode交互,获取文件信息。
(3)与DataNode交互,读取或写入数据。
(4)Client可以通过一些命令访问HDFS,比如对HDFS进行增删改查的操作。
(5)Client可以通过一些命令管理HDFS,比如NameNode格式化。
4.Secondary Namenode:NameNode的冷备,当NameNode挂掉的时候,并不能马上替换NameNode提供服务。
(1)辅助NameNode,分担工作量。
(2)紧急情况下,可以辅助恢复NameNode

HDFS文件块大小*

HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数(dfs.blocksize)来规定,默认大小在2.x版本中是128M,老版本是64M。
如果寻址时间为10ms,即查找目标所需要的时间为10ms。
寻址时间为传输时间的1%,则为最佳状态。因此传输时间=10ms/0.01=1000ms=1s
目前磁盘的传输速率普遍为100MB/s。
设置block大小=1s*100MB/s=100MB
HDFS块设置太小,会增加寻址时间,程序一直在找块开始的位置
块设置太大,从磁盘传输时间会明显大于定位这个块开始的时间,程序处理这块数据时,会非常慢
HDFS的块的大小设置取决于磁盘传输速率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值