1. 程式人生 > >hadoop學習資料-05-HDFS細節說明

hadoop學習資料-05-HDFS細節說明

  1. Block塊概念
    最基本的儲存單位。
           在HDFS中,有一個特別重要的概念:資料庫(Block),前面介紹到,再Hdfs中儲存的檔案都是超大資料的檔案,我們可以把這個超大規模的檔案以一個標準切人成幾塊,分別儲存再不同的磁碟上。這個標準就稱為Block.Block預設大小為64(hadoop1.x)M、128M(v2.x)。這樣做有一下幾點好處:
       A.檔案快可以儲存再不同的磁碟上。在HDFS系統中,一個檔案可以分成不同的Block儲存再不同的datanode磁碟上。
       B.簡化儲存系統。這樣不需要管理檔案,而是管理檔案快就可以了。
       C.有利於資料的複製。在HDFS系統中,一個Block一般會複製3分。
       D.對於檔案內容而言,一個檔案的長度大小事size,那麼從檔案的0偏移開始,按照固定的大小,順序對檔案進行劃分並編號,劃分好的每一個塊稱一個Block。Hdfs預設Block大小是128MB,比如一個256MB檔案,共有256/128=2個BlocK。
       E.不同於普通檔案系統的是,HDFS中,如果一個檔案小於一個數據塊的大小,並不佔用整個資料塊儲存空間。
    1. NameNode
       A.NameNode維護著Hdfs中的元資訊,包括檔案和Block之間關係的資訊、Blocl數量資訊、Block和DataNode之間的關係資訊,資料格式參照如下:FileName replicas  block-Ids  id2host   /test/a.log,3,{b1,b2},[{b1:[h0,h1,h3]},{b2:[h0,h2,h4]}],
      B.NameNode 中的元資料資訊儲存在儲存/檔案中,記憶體中為實時資訊,檔案中為資料映象作為持久化儲存使用。
      C.檔案包括:
       fsimage 元資料映象檔案。儲存某NameNode元資料資訊,並不是實時同步記憶體中的資料。
       edits 操作日誌檔案
       fstime 儲存最近一次checkpoit的時間。