成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大數據HDFS讀寫數據的過程探究

大數據
跟namenode通信查詢元數據,找到文件塊所在的datanode服務器,挑選一臺datanode(就近原則,然后隨機)服務器,請求建立socket流。

讀數據

  1. 跟namenode通信查詢元數據,找到文件塊所在的datanode服務器
  2. 挑選一臺datanode(就近原則,然后隨機)服務器,請求建立socket流
  3. datanode開始發送數據(從磁盤里面讀取數據放入流,以packet為單位來做校驗)
  4. 客戶端以packet為單位接收,現在本地緩存,然后寫入目標文件 
大數據HDFS讀寫數據的過程探究

寫數據

  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的服務器。 
大數據HDFS讀寫數據的過程探究

網絡故障,臟數據如何解決?

DataNode 失效等問題,這些問題 HDFS 在設計的時候都早已考慮到了。下面來介紹一下數據損壞處理流程:

  • 當 DataNode 讀取 block 的時候,它會計算 checksum。
  • 如果計算后的 checksum,與 block 創建時值不一樣,說明該 block 已經損壞。
  • Client 讀取其它 DataNode上的 block。
  • NameNode 標記該塊已經損壞,然后復制 block 達到預期設置的文件備份數 。
  • DataNode 在其文件創建后驗證其 checksum。

讀寫過程,數據完整性如何保持?

通過校驗和。因為每個chunk中都有一個校驗位,一個個chunk構成packet,一個個packet最終形成block,故可在block上求校驗和。

HDFS 的client端即實現了對 HDFS 文件內容的校驗和 (checksum) 檢查。當客戶端創建一個新的HDFS文件時候,分塊后會計算這個文件每個數據塊的校驗和,此校驗和會以一個隱藏文件形式保存在同一個 HDFS 命名空間下。當client端從HDFS中讀取文件內容后,它會檢查分塊時候計算出的校驗和(隱藏文件里)和讀取到的文件塊中校驗和是否匹配,如果不匹配,客戶端可以選擇從其他 Datanode 獲取該數據塊的副本。

HDFS中文件塊目錄結構具體格式如下: 

  1. ${dfs.datanode.data.dir}/  
  2. ├── current  
  3. │ ├── BP-526805057-127.0.0.1-1411980876842  
  4. │ │ └── current  
  5. │ │ ├── VERSION  
  6. │ │ ├── finalized  
  7. │ │ │ ├── blk_1073741825  
  8. │ │ │ ├── blk_1073741825_1001.meta  
  9. │ │ │ ├── blk_1073741826  
  10. │ │ │ └── blk_1073741826_1002.meta  
  11. │ │ └── rbw  
  12. │ └── VERSION  
  13. └── in_use.lock 

in_use.lock表示DataNode正在對文件夾進行操作

rbw是“replica being written”的意思,該目錄用于存儲用戶當前正在寫入的數據。

Block元數據文件(*.meta)由一個包含版本、類型信息的頭文件和一系列校驗值組成。校驗和也正是存在其中。

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2013-10-09 09:39:34

大數據

2021-04-14 09:04:03

大數據HDFS大數據開發

2019-12-24 08:11:39

大數據架構數據開發

2017-02-27 16:35:00

HDFS大數據分析

2018-02-05 08:26:11

大數據云存儲安全性

2018-12-07 14:50:35

大數據數據采集數據庫

2023-05-11 00:17:44

分區HiveReduce

2019-08-14 17:13:23

大數據MapReduce框架

2022-04-06 15:59:11

大數據HDFS存儲系統

2018-12-21 11:01:05

存儲大數據RAID

2017-03-06 10:45:29

HadoopHDFS大數據

2017-12-20 15:10:09

HBaseHadoop數據

2019-07-04 14:22:56

大數據數據挖掘數量級

2015-06-29 13:38:31

大數據大價值

2021-10-29 22:45:47

大數據算法技術

2018-04-08 09:31:57

大數據

2023-05-08 23:20:49

WebYARN管理

2019-04-22 15:24:24

HadoopSuffleMap端

2012-03-13 13:38:42

Java

2019-01-14 19:37:08

大數據AI場景
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品中文 | 久久欧美高清二区三区 | 天天干人人 | 嫩草视频入口 | 亚洲精品久 | 久久综合欧美 | 国产精品毛片av | 欧美黄色精品 | 国产欧美日韩久久久 | 日韩中文字幕在线观看 | 日日操天天射 | 欧美在线 | 新超碰97| 91免费在线 | av毛片 | 91色网站 | 国产h视频 | 国产一区二区高清在线 | 欧洲亚洲精品久久久久 | av毛片在线免费观看 | 日日夜夜天天干 | 欧美一区二区三区四区五区无卡码 | 亚洲综合在线播放 | 亚洲一区视频在线播放 | 国产精品美女www爽爽爽视频 | 九九热在线视频 | 视频一区在线观看 | 一区二区精品电影 | 国产视频1区 | 成人亚洲片 | 91日韩在线 | 国外成人在线视频网站 | 久久精品国产一区 | 伊人精品一区二区三区 | 久久久国产精品网站 | 亚洲天堂一区二区 | 久精品久久 | 日韩高清一区 | 免费毛片网站在线观看 | 欧美啪啪| 国产福利视频 |