1. 程式人生 > >hdfs架構組成部分

hdfs架構組成部分

HDFS,Hadoop分散式檔案系統,它是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的資料訪問,適合那些有著超大資料集的應用程式。
HDFS的設計特點是:

  1. 大資料檔案,非常適合上T級別的大檔案或者一堆大資料檔案的儲存,如果檔案只有幾個G甚至更小就沒啥意思了。
  2. 檔案分塊儲存,HDFS會將一個完整的大檔案平均分塊儲存到不同計算器上,它的意義在於讀取檔案時可以同時從多個主機取不同區塊的檔案,多主機讀取比單主機讀取效率要高得多得都。
  3. 流式資料訪問,一次寫入多次讀寫,這種模式跟傳統檔案不同,它不支援動態改變檔案內容,而是要求讓檔案一次寫入就不做變化,要變化也只能在檔案末新增內容。
  4. 廉價硬體,HDFS可以應用在普通PC機上,這種機制能夠讓給一些公司用幾十臺廉價的計算機就可以撐起一個大資料叢集。
  5. 硬體故障,HDFS認為所有計算機都可能會出問題,為了防止某個主機失效讀取不到該主機的塊檔案,它將同一個檔案塊副本分配到其它某幾個主機上,如果其中一臺主機失效,可以迅速找另一塊副本取檔案。
    HDFS的關鍵元素:
    Block:將一個檔案進行分塊,通常是64M。
    NameNode:儲存整個檔案系統的目錄資訊、檔案資訊及分塊資訊,這是由唯一一臺主機專門儲存,當然這臺主機如果出錯,NameNode就失效了。在Hadoop2.*開始支援activity-standy模式----如果主NameNode失效,啟動備用主機執行NameNode。
    DataNode:分佈在廉價的計算機上,用於儲存Block塊檔案。
    HDFS是Hadoop重要檔案系統,負責Hadoop儲存工作,Hadoop是大資料開發必不可少倉儲技術,如果想了解更多HDFS技術可與老男孩教育聯絡,老男孩教育大資料課程包括Linux、Hadoop、Hive、Avro與Protobuf、ZooKeeper、HBase、Phoenix、Flume、SSM、Kafka、Scala、Spark、azkaban、Python與資料分析等,全面涵蓋大資料人才所需的技術點。