日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDFS的工作机制,HDFS写数据流程,HDFS读数据流程(来自学习资料)

發布時間:2024/9/27 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDFS的工作机制,HDFS写数据流程,HDFS读数据流程(来自学习资料) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

4.hdfs的工作機制

(工作機制的學習主要是為加深對分布式系統的理解,以及增強遇到各種問題時的分析解決能力,形成一定的集群運維能力)

?

注:很多不是真正理解hadoop技術體系的人會常常覺得HDFS可用于網盤類應用,但實際并非如此。要想將技術準確用在恰當的地方,必須對技術有深刻的理解

4.1 概述

1.????????HDFS集群分為兩大角色:NameNode、DataNode? (Secondary Namenode)

2.????????NameNode負責管理整個文件系統的元數據

3.????????DataNode 負責管理用戶的文件數據塊

4.????????文件會按照固定的大小(blocksize)切成若干塊后分布式存儲在若干臺datanode上

5.????????每一個文件塊可以有多個副本,并存放在不同的datanode上

6.????????Datanode會定期向Namenode匯報自身所保存的文件block信息,而namenode則會負責保持文件的副本數量

7.????????HDFS的內部工作機制對客戶端保持透明,客戶端請求訪問HDFS都是通過向namenode申請來進行

?


?

4.2 HDFS寫數據流程

4.2.1 概述

客戶端要向HDFS寫數據,首先要跟namenode通信以確認可以寫文件并獲得接收文件block的datanode,然后,客戶端按順序將文件逐個block傳遞給相應datanode,并由接收到block的datanode負責向其他datanode復制block的副本

4.2.2 詳細步驟圖

4.2.3 詳細步驟解析

1、根namenode通信請求上傳文件,namenode檢查目標文件是否已存在,父目錄是否存在

2、namenode返回是否可以上傳

3、client請求第一個 block該傳輸到哪些datanode服務器上

4、namenode返回3個datanode服務器ABC

5、client請求3臺dn中的一臺A上傳數據(本質上是一個RPC調用,建立pipeline),A收到請求會繼續調用B,然后B調用C,將真個pipeline建立完成,逐級返回客戶端

6、client開始往A上傳第一個block(先從磁盤讀取數據放到一個本地內存緩存),以packet為單位,A收到一個packet就會傳給B,B傳給C;A每傳一個packet會放入一個應答隊列等待應答

7、當一個block傳輸完成之后,client再次請求namenode上傳第二個block的服務器。

4.3. HDFS讀數據流程

4.3.1 概述

客戶端將要讀取的文件路徑發送給namenode,namenode獲取文件的元信息(主要是block的存放位置信息)返回給客戶端,客戶端根據返回的信息找到相應datanode逐個獲取文件的block并在客戶端本地進行數據追加合并從而獲得整個文件

?

4.3.2 詳細步驟圖

?

4.3.3 詳細步驟解析

1、跟namenode通信查詢元數據,找到文件塊所在的datanode服務器

2、挑選一臺datanode(就近原則,然后隨機)服務器,請求建立socket流

3、datanode開始發送數據(從磁盤里面讀取數據放入流,以packet為單位來做校驗)

4、客戶端以packet為單位接收,現在本地緩存,然后寫入目標文件

?

?

?

?

總結

以上是生活随笔為你收集整理的HDFS的工作机制,HDFS写数据流程,HDFS读数据流程(来自学习资料)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。