菜鸟的hadoop的学习笔记--HDFS笔记

本人纯属菜鸟,写这个博客目的主要是为了加深理解,高手勿喷!

MapReduce的补充:完整的Map/Reduce的作业过程会把输入的数据分成很多独立的块,Map任务以完全独立的方式来处理他们,Map处理后的中间结果会被排序,然后分组进入到Reduce任务中,作业的输入输出都会放在文件系统中,Map/Reduce框架和HDFS运行在相同的节点,那么计算和存储操作都会在同一个节点上面进行。Master负责把任务指派给Slave,Slave只负责执行Master指派给他的任务。Hadoop上面运行的作业需要指明程序的输入输出的地址,根据指定的接口来完成Map和Reduce任务函数的编写,同时包括这些函数的参数。

进入正题,关于HDFS的笔记。

HDFS主要使用了NameNode、DataNode和Client来进行文件系统的管理。NameNode可以看做是分布式文件系统的管理者,主要负责管理文件系统的命名空间、文件系统的配置信息等,Namenode会将文件系统的metadata存储在内存中,文件系统的metadata包括文件信息、每一个文件的对应的文件块的信息以及文件块在Datanode存储的信息,Datanode中保存了所有的Block的Metadata,周期的将Block信息发送给Namenode,Client就是需要获取HDFS文件的应用程序

(1)文件写入

a、client向Namenode发送文件写入的请求

b、namenode向client返回应答信息,应答信息包括其管理datanode的信息

c、client根据应答信息将大的文件分成对应大小的文件块,然后将这些文件块存储到相应的datanode上(根据DataNode的地址信息,按顺序将文件块放在datanode上面)

(2)文件读取

a、client向namenode发送文件读取的请求

b、namenode返回文件存储 的datanode信息

c、client读取datanode中的文件块信息

(3)文件块的复制

a、NameNode发现部分文件的Block不符合最小复制数这一要求,

b、通知datanode相互复制Block

c、datanode开始相互复制

HDFS的特点

1、文件块的放置,一个文件块有三个备份,一份放在NameNode指定的DataNode上,还有指定的备份的Datanode上面,还有一份放在同一rack(机架)的Datanode

2、心跳机制,用心跳机制监测Datanode健康状况,有点像webservice里面的心跳包机制来维护http连接。

3、数据复制,根据datanode里面的存储利用率,加入存储利用率超过了10%,就把这个Datanode里面的部分Block转移到其他的Datanode上面。

~~~~待续

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值