HDFS文件读写流程

HDFS读文件流程
1.客户端向NameNode发送读文件请求,NameNode返回文件的数据块信息,对于每一个数据块,元数据节点返回保存数据块的数据节点的地址
2.文件系统返回FSDataInputStream给客户端,用来读取数据
3.FSDataInputStream连接保存次文件第一个数据块的最近的数据节点,data从数据节点读到客户端
4.当此数据块读取完毕是,FSDataInputStream关闭和此数据节点的连接,然后连接此文件下一个数据块的最近的数据节点
5.当客户端读取数据完毕后,关闭FSDataInputStream
6.在读取数据的过程中,如果客户端在与数据节点通信出现错误,则尝试连接包含此数据块的下一个数据节点
7.失败的数据节点将被记录,以后不再连接

HDFS写文件流程
1.客户端向NameNode发送写文件请求。
2.NameNode检查是否已存在文件,检查客户端是否有写权限。若通过检查,在名称空间中创建一个新的文件。
3.文件系统返回一个输出流对象(DFSOutputStream),客户端用于写数据。
4.客户端将NameNode返回的分配的可写的DataNode列表和Data数据一同发送给最近的第一个DataNode节点,第一个节点将数据块发送给第二个节点,第二个节点将数据块发送给第三个节点。
5.三个数据节点存储数据成功后会向客户端发送写入成功,客户端会通知NameNode写入完毕。

了解更多大数据培训课程相关技术内容欢迎关注小编!

上一篇:Oracle DG切换


下一篇:《JavaScript高级程序设计》笔记:函数表达式(七)