HDFS 分佈式文件系統

博客出處W3c:https://www.w3cschool.cn/hadoop/xvmi1hd6.html

簡介

Hadoop Distributed File System,分佈式文件系統html

架構

 

  • Block數據&##x5757;網絡

    1. 基本存儲單位,通常大小爲64M(配置大的塊主要是由於:1)減小搜尋時間,通常硬盤傳輸速率比尋道時間要快,大的塊能夠減小尋道時間;2)減小管理塊的數據開銷,每一個塊都須要在NameNode上有對應的記錄;3)對數據塊進行讀寫,減小創建網絡的鏈接成本)架構

    2. 一個大文件會被拆分紅一個個的塊,而後存儲於不一樣的機器。若是一個文件少於Block大小,那麼實際佔用的空間爲其文件的大小分佈式

    3. 基本的讀寫S#x5355;位,相似於磁盤的頁,每次都是讀寫一個塊oop

    4. 每一個塊都會被複制到多臺機器,默認複製3份
  • NameNode線程

    1. 存儲文件的metadata,運行時全部數據都保存到內存,整個HDFS可存儲的文件數受限於NameNode的內存大小日誌

    2. 一個Block在NameNode中對應一條記錄(通常一個block佔用150字節),若是是大量的小文件,會消耗大量內存。同時map task的數量是由splits來決定的,因此用MapReduce處理大量的小文件時,就會產生過多的map task,線程管理開銷將會增長做業時間。處理大量小文件的速度遠遠小於處理同等大小的大文件的速度。所以Hadoop建議存儲大文件htm

    3. 數據會定時保存到本地磁盤,但不保存block的位置信息,而是由DataNode註冊時上報和運行時維護(NameNode中與DataNode相關的信息並不保存到NameNode的文件系統中,而是NameNode每次重啓後,動態重建)blog

    4. NameNode失效則整個HDFS都失效了,因此要保證NameNode的可用性
  • Secondary NameNode內存

    1. 定時與NameNode進行同步(按期合併文件系統鏡像和編輯日&#x#x5FD7;,而後把合併後的傳給NameNode,替換其鏡像,並清空編輯日誌,相似於CheckPoint機制),但NameNode失效後仍須要手工將其設置成主機
  • DataNode

    1. 保存具體的block數據

    2. 負責數據的讀寫操做和複製操做

    3. DataNode啓動時會向NameNode報告當前存儲的數據塊信息,後續也會定時報告修改信息

    4. DataNode之間會進行通訊,複製數據塊,保證數據的冗餘性
相關文章
相關標籤/搜索