hadoop文件读写过程
来源:互联网 发布:中国三大网络巨头 编辑:程序博客网 时间:2024/05/16 03:02
读入过程:
1.客户端通过RPC与Namenode通信,namenode返回一个输入流(FSDataInputStream对象)供客户端调用read方法不断读取数据。
2.输入流对象封装DFSInputStream对象,该对象管理着namenode和datanoded I/O,接着DFSInputStream连接到存储着所要读取的文件块的距离客户端最近的datanode的数据输出给客户端,读取完成后,继续寻找下一个数据块的datanode的位置。
3.在读取的过程中如果发生错误,则会DFSInputStream会尝试从另外一个邻近的datanode读取,同时记录这个出故障的datanode以此保证下一次不会再从故障的节点读取数据。
4.客户端获取数据完毕后调用FSDataInputStream的close方法关闭输入流。
写入过程:
1.客户端通过RPC与NameNode通信(FSDataInputStream),namenode确保客户端索要创建的文件是否存在,如果不存在在返回给客户端一个输出流,若文件已经存在则抛出异常;
2.客户端将文件切分成数据块,并将数据块放入输出流的一个队列(data quene)里面,同时从namenode中获取数据可存放的节点信息,数据开始在节点间存放(存放的节点通过一条管线连接)并复制副本到下一个节点直到副本复制完成,这时队列里的数据才会被清空,如果节点间副本复制失败,则有正常的节点之一通知namenode,此时namenode并不会寻找新的节点,而是继续写入下一个数据包并删除故障节点;
3.当数据包都写入完成后,客户端关闭数据流并等待namenode记录完数据包的副本文件位置后,删除说有数据包;
4.namenode会不断监测文件块的副本满足不满足副本数量条件,多删少补。
- hadoop文件读写过程
- hadoop学习笔记--hadoop读写文件过程
- Hadoop之HDFS文件读写过程
- Hadoop读写过程解析
- hadoop非mapreduce过程对hdfs文件的读写
- hadoop 读写文件
- hadoop读写文件
- hadoop文件读写示例
- hadoop HDFS读写文件
- Hadoop进行读写文件
- Hadoop读写过程详细代码
- HDFS文件读写过程
- Hadoop读写Hdfs系统文件
- hadoop文件的读写流程
- Hadoop 读写文件源码分析
- hadoop 读写过程的内部机制
- Hadoop中hdfs的读写过程
- Hadoop读写过程的源码分析
- Hbase快速单机部署和伪分布式部署,完全分布式部署
- Android 应用程序的图标 (Icon) 应该设计成多大
- 这样读源码,不牛X也难
- Java程序员的4大就业方向
- 面向对象的建模与设计
- hadoop文件读写过程
- spring定时器、linux计划任务的使用
- java设计模式--代理模式(二)
- 深入理解 Spring 事务原理
- 山东大学项目实训——5月18日
- 修改eclipse编码格式
- Spring思维导图,让Spring不再难懂(ioc篇)
- java,当查询的数据量比较大,查询时间过长,查询被中断问题解决。
- JNI的NIO操作