hdfs读写原理
2018-03-26 08:44
232 查看
hdfs读原理
client调用DFS的open打开希望读取的文件,DFS代表了分布式文件系统的一个实例。DFS通过rpc,调用namenode机器,确定文件起始块的位置。同一个块,按照重复数,返回多个位置,这些位置按照hadoop集群拓扑结构排序,离client近的排在前面。
第2步返回DFSInputStream,它可以管理datanode和namenode。client调用DFSInputStream的read。
DFSInputStream连接距离最近的datanode,读数据。
到达块末尾,DFSInputStream关闭和该DataNode的连接,寻找下一个块的最佳datanode,依次类推。
hdfs写原理
client调用DFS的create,创建新文件。DFS通过rpc,调用namenode机器,创建一个空文件,并且为新文件添加一条记录。
第2步返回一个DFSOutputStream,它可以管理datanode和namenode。DFSOutputStream把写的数据切成一个个小的packet,放到data queue
DataStreamer处理data queue的packet,先问namenode,当前packet最适合存储在哪些datanode,比如重复数是3,就找到3个最适合的datanode。packet被写到第一个datanode,第一个datanode会把packet输出到第二个datanode,以此类推。
DFSOutputStream有一个ack queue,里面也是packet,当某个packet对应的应该写入的datanode都表示已经写入了,ack queue会把对应的packet移除。
相关文章推荐
- HDFS原理解析(总体架构,读写操作流程)
- Hadoop之HDFS读写原理
- HDFS原理解析(总体架构,读写操作流程及源码查看等)
- HDFS原理解析(总体架构,读写操作流程)
- Hadoop(三)HDFS读写原理与shell命令
- HDFS原理解析(总体架构,读写操作流程)
- HDFS读写数据的原理
- HDFS读写原理
- HDFS原理分析(u)
- 固态硬盘读写速度快的原理是什么?
- HDFS读写文件的java代码
- mysql-proxy主从服务架构下读写分离和负载均衡实现及原理
- HDFS操作——使用 FileSystem api 读写数据
- Hadoop学习总结之二:HDFS读写过程解析
- HDFS详解(2)——HDFS中的读写数据流
- 【Hadoop】HDFS的运行原理
- 磁盘读写原理
- Hadoop——hdfs原理详解
- Hadoop2.0中HDFS高可用性的实现原理
- Hadoop学习总结之二:HDFS读写过程解析