欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

分布式文件系統-HDFS

系統 1652 0

HDFS

? ?Hadoop的核心就是HDFS與MapReduce。那么HDFS又是基于GFS的設計理念搞出來的。

? ?HDFS全稱是Hadoop Distributed System。HDFS是為以流的方式存取大文件而設計的。適用于幾百MB,GB以及TB,并寫一次讀多次的場合。而對于低延時數據訪問、大量小文件、同時寫和任意的文件修改,則并不是十分適合。

?優點:

? ? ? 1)適合存儲非常大的文件

? ? ? 2)適合流式數據讀取,即適合“只寫一次,讀多次”的數據處理模式

? ? ? 3)適合部署在廉價的機器上

缺點:

? ? ? 1)不適合存儲大量的小文件,因為受Namenode內存大小限制

? ? ?2)不適合實時數據讀取,高吞吐量和實時性是相悖的,HDFS選擇前者

? ? ?3)不適合需要經常修改數據的場景

? ?數據塊:

? ? ?每個磁盤都有默認的數據塊大小,一般就是521字節。這是磁盤進行數據讀寫的最小單位。HDFS同樣也有塊(block)的概念,但是大得多,有64MB。與單一磁盤上的文件系統一樣,HDFS上的文件也被劃分為塊大小的多個分塊。但是還是有所不同,比如HDFS中小于一個塊大小的文件不會占據整個塊的空間。

? ? 對分布式文件系統中的快進行抽象的好處:

? ? 1)一個文件的大小可能會大于網絡中任意一個磁盤的容量,文件的所有塊并不需要存儲在同一個磁盤上,因此可以利用集群上的任意一個磁盤進行存儲,但是對于HDFS來說,它是存儲了一個文件。

? ? ? ? (這不就正是我們要的效果嗎)?

? ? 2)以抽象塊為存儲單元,簡化了設計。還方便塊的備份。

?

?

? ? 分布式文件系統-HDFS

?

? ? ? ? ?HDFS的架構如上圖所示,總體上采用了 Master/Slave 的架構,主要有以下4個部分組成:

? ? ? ?1、Client

? ? ? ? ? ? 客戶端,就是我們通過調用接口實現的代碼。

? ? ? ?2、NameNode

? ? ? ? ? ?整個HDFS集群只有一個NameNode,它存儲整個集群文件分別的元數據信息。這些信息以fsimage和editlog兩個文件存儲在本地磁盤,Client通過這些元數據信息可以找到相應的文件。此外,NameNode還 ? ? ?負責監控DataNode的健康情況,一旦發現DataNode異常,就將其踢出,并拷貝其上數據至其它DataNode。

? ? ? 3、Secondary NameNode

? ? ? ? ? Secondary NameNode負責定期合并NameNode的fsimage和editlog。這里特別注意,它不是NameNode的熱備,所以NameNode依然是Single Point of Failure。它存在的主要目的是為了分擔一部分 ? ? ? ? ? ? NameNode的工作(特別是消耗內存的工作,因為內存資源對NameNode來說非常珍貴)。

? ? ? 4、DataNode

? ? ? ? ? ?DataNode負責數據的實際存儲。當一個 文件上傳 至HDFS集群時,它以Block為基本單位分布在各個DataNode中,同時,為了保證數據的可靠性,每個Block會同時寫入多個DataNode中(默認為3) ??

?

? ? ? 那么文件如何存儲的呢?

? ? ?要存儲的文件會分成很多塊,存到Datanode里。分塊的原則:除了最后一個數據塊,其它數據塊的大小相同,一般為64MB or 128MB。?每個數據塊有副本(一般為3):副本多了浪費空間。?

? ? 副本存儲:在大多數情況下,副本系數是3,HDFS的存放策略是將一個副本存放在本地機架的節點上,一個副本放在同一機架的另一個節點上,。

? ?? HDFS通信協議?

? ? ?所有的 HDFS 通訊協議都是構建在 TCP/IP 協議上。客戶端通過一個可 配置的端口連接到 Namenode , 通過 ClientProtocol 與 Namenode 交互。而 Datanode 是使用 DatanodeProtocol 與 Namenode 交互。再設計上, DataNode 通過周期性的向 NameNode 發送心跳和數據塊來保持和 NameNode 的通信,數據塊報告的信息包括數據塊的屬性,即數據塊屬于哪 個文件,數據塊 ID ,修改時間等, NameNode 的 DataNode 和數據塊的映射 關系就是通過系統啟動時 DataNode 的數據塊報告建立的。從 ClientProtocol 和 Datanodeprotocol 抽象出一個遠程調用 ( RPC ), 在設計上, Namenode 不會主動發起 RPC , 而是是響應來自客戶端和 Datanode 的 RPC 請求。?
? ? (這個在我們進行hadoop文件配置的時候就可以感受到,都是通過一個Ip地址加上一個端口號來訪問對方的)

? ? ? 文件讀取的過程如下:

  1. 使用HDFS提供的客戶端開發庫Client,向遠程的Namenode發起RPC請求;
  2. Namenode會視情況返回文件的部分或者全部block列表,對于每個block,Namenode都會返回有該block拷貝的DataNode地址;
  3. 客戶端開發庫Client會選取離客戶端最接近的DataNode來讀取block;如果客戶端本身就是DataNode,那么將從本地直接獲取數據.
  4. 讀取完當前block的數據后,關閉與當前的DataNode連接,并為讀取下一個block尋找最佳的DataNode;
  5. 當讀完列表的block后,且文件讀取還沒有結束,客戶端開發庫會繼續向Namenode獲取下一批的block列表。
  6. 讀取完一個block都會進行checksum驗證,如果讀取datanode時出現錯誤,客戶端會通知Namenode,然后再從下一個擁有該block拷貝的datanode繼續讀。

? ? ?寫入文件的過程如下:

  1. 使用HDFS提供的客戶端開發庫Client,向遠程的Namenode發起RPC請求;
  2. Namenode會檢查要創建的文件是否已經存在,創建者是否有權限進行操作,成功則會為文件創建一個記錄,否則會讓客戶端拋出異常;
  3. 當 客戶端開始寫入文件的時候,開發庫會將文件切分成多個packets,并在內部以數據隊列"data queue"的形式管理這些packets,并向Namenode申請新的blocks,獲取用來存儲replicas的合適的datanodes列表, 列表的大小根據在Namenode中對replication的設置而定。
  4. 開始以pipeline(管道)的形式將packet寫入所 有的replicas中。開發庫把packet以流的方式寫入第一個datanode,該datanode把該packet存儲之后,再將其傳遞給在此 pipeline中的下一個datanode,直到最后一個datanode,這種寫數據的方式呈流水線的形式。
  5. 最后一個datanode成功存儲之后會返回一個ack packet,在pipeline里傳遞至客戶端,在客戶端的開發庫內部維護著"ack queue",成功收到datanode返回的ack packet后會從"ack queue"移除相應的packet。
  6. 如 果傳輸過程中,有某個datanode出現了故障,那么當前的pipeline會被關閉,出現故障的datanode會從當前的pipeline中移除, 剩余的block會繼續剩下的datanode中繼續以pipeline的形式傳輸,同時Namenode會分配一個新的datanode,保持 replicas設定的數量。

分布式文件系統-HDFS


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久伊人草 | 久久不卡| 奇米在线观看视频 | 香港论理午夜电影网 | 午夜影皖 | 日韩亚洲第一页 | 成人亚洲 | 26uuu在线 | 91久久精品国产一区二区 | 色婷亚洲 | 日本大片在线观看免费视频 | 亚洲码欧美码一区二区三区 | 亚洲日本在线天堂无码 | 777奇米影视色888成人 | 99热这里有免费国产精品 | 自拍视频网| 99视频在线观看视频一区 | 日韩在线观看视频一区 | 91成人在线网站 | 日韩欧美视频免费观看 | 久久日本精品99久久久久 | 在线精品国内外视频 | 国产在视频线精品视频www666 | 精品国产一区二区三区久久久 | 欧美激情一区二区三区中文字幕 | 日日麻批免费视频 | 一区二区成人 | 成年人在线观看视频网站 | 色综合国产 | 午夜寂寞在线观看 | 日本高清乱理伦片中文字幕啊 | 女人被添全过程A片久久AV | 日本一区二区三区免费观看 | 亚洲精品久久久久久蜜臀 | 精品国产欧美一区二区 | 天天操国产| 欧美精品1区2区3区 国产午夜精品理论片影院 亚洲精品不卡久久久久久 三级网站免费观看 | 在线国产视频 | 久久人人爽人人爽 | 视频福利在线观看 | 日韩一区二区三区四区 |