hdfs工作原理如下:
1、客户端通过调用FileSystem对象的open括号来读取希望打开的文件。对于HDFS来说,这个对象是分布式文件系统的一个实例。
2、DistributedFileSystem通过RPC来调用namenode,以确定文件的开头部分的块位置。对于每一块,namenode返回具有该块副本的datanode地址。此外,这些datanode根据他们与client的距离来排序(根据网络集群的拓扑)。如果该client本身就是一个datanode,便从本地datanode中读取。DistributedFileSystem返回一个FSDataInputStream对象给client读取数据,FSDataInputStream转而包装了一个DFSInputStream对象。
3、接着client对这个输入流调用read()。存储着文件开头部分的块的数据节点的地址DFSInputStream随即与这些块最近的datanode相连接。
4、通过在数据流中反复调用read(),数据会从datanode返回client。
5、到达块的末端时,DFSInputStream会关闭与datanode间的联系,然后为下一个块找到最佳的datanode。client端只需要读取一个连续的流,这些对于client来说都是透明的。
6、在读取的时候,如果client与datanode通信时遇到一个错误,那么它就会去尝试对这个块来说下一个最近的块。它也会记住那个故障节点的datanode,以保证不会再对之后的块进行徒劳无益的尝试。 client也会确认datanode发来的数据的校验和。如果发现一个损坏的块,它就会在client试图从别的datanode中读取一个块的副本之前报告给namenode。
7、这个设计的一个重点是,client直接联系datanode去检索数据,并被namenode指引到块中最好的datanode。因为数据流在此集群中是在所有datanode分散进行的。
qq小程序打不开怎么办 腾讯文档qq小程序打不开怎么办
有时候我们在使用qq小程序得时候,不少小伙伴们发现自己一直在加载,然后就出现了打不开的情况了,很多朋友就会很困惑怎么突然就打不开了(0)人阅读时间:2023-03-09金毛犬寿命是多少年(金毛犬一般多少年寿命)
狗狗的寿命一般在13-15年,金毛犬属于大型犬,它的寿命比小型犬要短,一般在10-12岁之间,主要看平时的照顾和狗狗的身体状况,如果狗狗在小时(0)人阅读时间:2023-03-09彩灯怎么挂好看 彩灯怎么挂好看卧室简单
节日的时候用彩灯进行装饰,一下子就有了气氛。那么彩灯可以怎么挂呢?用彩灯拼出心形。用一串串的彩灯,拼出心形比较简单,但是效果却很好(0)人阅读时间:2023-03-09如何改变散点图坐标轴上的数据(散点图怎么更改xy轴位置)
根据第二个图表,修改第一个图表中横纵坐标轴上的数值首先,选中纵坐标上的数据,鼠标右键单击“设置坐标轴格式”将主要刻度单位上的数据(0)人阅读时间:2023-03-09qq小程序打不开怎么办 腾讯文档qq小程序打不开怎么办
有时候我们在使用qq小程序得时候,不少小伙伴们发现自己一直在加载,然后就出现了打不开的情况了,很多朋友就会很困惑怎么突然就打不开了..2023-03-09金毛犬寿命是多少年(金毛犬一般多少年寿命)
狗狗的寿命一般在13-15年,金毛犬属于大型犬,它的寿命比小型犬要短,一般在10-12岁之间,主要看平时的照顾和狗狗的身体状况,如果狗狗在小时..2023-03-09彩灯怎么挂好看 彩灯怎么挂好看卧室简单
节日的时候用彩灯进行装饰,一下子就有了气氛。那么彩灯可以怎么挂呢?用彩灯拼出心形。用一串串的彩灯,拼出心形比较简单,但是效果却很好..2023-03-09如何改变散点图坐标轴上的数据(散点图怎么更改xy轴位置)
根据第二个图表,修改第一个图表中横纵坐标轴上的数值首先,选中纵坐标上的数据,鼠标右键单击“设置坐标轴格式”将主要刻度单位上的数据..2023-03-09