普票是什么 普票是什么樣的發(fā)票
2022-12-03
更新時間:2022-06-22 09:58:10作者:未知
hdfs工作原理如下:
1、客戶端通過調(diào)用FileSystem對象的open括號來讀取希望打開的文件。對于HDFS來說,這個對象是分布式文件系統(tǒng)的一個實例。
2、DistributedFileSystem通過RPC來調(diào)用namenode,以確定文件的開頭部分的塊位置。對于每一塊,namenode返回具有該塊副本的datanode地址。此外,這些datanode根據(jù)他們與client的距離來排序(根據(jù)網(wǎng)絡集群的拓撲)。如果該client本身就是一個datanode,便從本地datanode中讀取。DistributedFileSystem返回一個FSDataInputStream對象給client讀取數(shù)據(jù),F(xiàn)SDataInputStream轉(zhuǎn)而包裝了一個DFSInputStream對象。
3、接著client對這個輸入流調(diào)用read()。存儲著文件開頭部分的塊的數(shù)據(jù)節(jié)點的地址DFSInputStream隨即與這些塊最近的datanode相連接。
4、通過在數(shù)據(jù)流中反復調(diào)用read(),數(shù)據(jù)會從datanode返回client。
5、到達塊的末端時,DFSInputStream會關閉與datanode間的聯(lián)系,然后為下一個塊找到最佳的datanode。client端只需要讀取一個連續(xù)的流,這些對于client來說都是透明的。
6、在讀取的時候,如果client與datanode通信時遇到一個錯誤,那么它就會去嘗試對這個塊來說下一個最近的塊。它也會記住那個故障節(jié)點的datanode,以保證不會再對之后的塊進行徒勞無益的嘗試。 client也會確認datanode發(fā)來的數(shù)據(jù)的校驗和。如果發(fā)現(xiàn)一個損壞的塊,它就會在client試圖從別的datanode中讀取一個塊的副本之前報告給namenode。
7、這個設計的一個重點是,client直接聯(lián)系datanode去檢索數(shù)據(jù),并被namenode指引到塊中最好的datanode。因為數(shù)據(jù)流在此集群中是在所有datanode分散進行的。