Hadoop学习之HDFS写流程
来源:互联网 发布:淘宝优站九块九包邮 编辑:程序博客网 时间:2024/05/16 00:53
HDFS写流程图
假设有个bigdata.log文件需要上传到HDFS系统根目录,使用以下命令
hadoop fs -put bigdata.log /
整个写流程如下
1、客户端会调用DistributedFileSystem对象的create()方法,与NameNode进行RCP通信。
2、NameNode接收到用户的写文件的RPC请求后,首先进行各种检查。如用户是否有创建权限和该文件是否已存在,检查通过后才会创建一个文件,并将操作记录到editlog中,然后DistributedFileSystem会将DFSOutputStream对象包装在FSDataOutStream实例中,返回客户端;否则文件创建失败并且给客户端抛IOException
3、客户端会开始写文件,FSOutputStream会将文件进行切块。然后向NameNode请求适合存放文件块的DataNode列表,然后这些DataNode会生成一个数据流管道,我们假设副本集参数被设置为3,那么这个数据流管道中就有三个DataNode节点。
4、首先FSOutputStream会将文件块向数据流管道中的第一个DataNode节点写数据,第一个DataNode接收文件块后会把文件块写向数据流管道中的第二个节点,同理,第二个节点接收保存数据块后会将数据块写向数据流管道中的第三个DataNode节点
5、当第三各DataNode节点数据库写入成功后,会向第二个DataNode节点发送数据写入成功的确认消息,第二个DataNode节点收到第三个的确认消息后会向第一个DataNode节点发送数据写入成功的确认消息。当三个节点都确认数据写入成功后DataNode会向FSOutputStream对象发送ack packets,最后会调用对象的close()方法。
注:假如客户端就是集群中某一个DataNode节点,那么第一个数据块会优先存储在本DataNode节点上。
- Hadoop学习之HDFS写流程
- hadoop Hdfs写流程
- Hadoop学习之HDFS读写流程
- Hadoop学习之HDFS读流程
- Hadoop深入学习:解析HDFS的写资料流程
- Hadoop深入学习:解析HDFS的写文件流程
- hadoop之 解析HDFS的写文件流程
- Hadoop学习之HDFS
- Hadoop-HDFS(二)写流程
- hadoop源码解析之hdfs写数据全流程分析---创建文件
- hadoop源码解析之hdfs写数据全流程分析---客户端处理
- hadoop源码解析之hdfs写数据全流程分析---datanode处理
- Hadoop之HDFS文件读取流程
- Hadoop学习笔记之---HDFS
- Hadoop学习笔记之HDFS
- hadoop学习笔记之HDFS
- Hadoop学习笔记之---HDFS
- hadoop学习笔记之HDFS
- 某安全浏览器竟然也被查出高危漏洞?
- Mysql 优化方案
- 简易文件打包程序
- 使用OpenLayers叠加天地图
- Tomcat startup.bat 双击闪退,JRE_HOME environment variable is not defined correctly
- Hadoop学习之HDFS写流程
- 2017.08.29工作日记
- 二级MS Office高级应用--Excel常用函数
- 最小费用最大流(模板)
- js小工具
- UVA1218,POJ3398 完美服务器(树形DP)
- c++中为什么父类名可以直接调用自己的非静态函数测试例子!(父类名::非静态函数)
- 动态规划 最长公共子序列 过程图解
- 位移运算符和位运算符的计算