分享

hadoop学习总结

yuwenge 2015-6-27 19:27:38 发表于 总结型 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 14893


Hadoop的两大功能:海量数据存储和海量数据分析

Hadoop2的三大核心组件是:HDFS、MapperReducer和yarn

1、HDFS:分布式文件系统海量数据存储

2、MapperReducer:运算框架,海量数据分析

3、yarn:资源调度管理集群

HDFS工作机制:基于namenode和datanode

1、namenode:响应客户端的请求;负责维护整个hdfs文件系统的目录树,以及每一个路径(文件)所对应的block块信息(block的id,及所在的datanode服务器);
元数据的管理

2、datanode:存储管理用户的文件数据;定期向namenode汇报自己所持有的block信息(通过心跳机制RPC)

Namenode安全模式:1)、当nameonde发现文件block丢失的数量达到一个配置的门限时,就会进入安全模式,它在这个模式下等待datanode向它汇报block信息;2)、在
安全模式下,namenode可以提供元数据查询的功能,但是不能修改;

HDFS读流程:

1、跟namenode通信查询元数据,找到文件块所在的datanode服务器

2、挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流

3、datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)

4、客户端以packet为单位接收,现在本地缓存,然后写入目标文件

HDFS写流程:

1、根namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在

2、namenode返回是否可以上传

3、client请求第一个 block该传输到哪些datanode服务器上

4、namenode返回3个datanode服务器ABC

5、client请求3台dn中的一台A上传数据(本质上是一个RPC调用,建立pipeline),A收到请求会继续调用B,然后B调用C,将真个pipeline建立完成,逐级返回客户端

6、client开始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,A收到一个packet就会传给B,B传给C;A每传一个packet会放入一个应答队列等待应答

7、当一个block传输完成之后,client再次请求namenode上传第二个block的服务器。

已有(1)人评论

跳转到指定楼层
levycui 发表于 2015-6-30 13:27:06
总结的很好 支持
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条