Java大數據之路--HDFS詳解(1)--概述

HDFS(分佈式文件存儲系統)--概述

目錄

HDFS(分佈式文件存儲系統)--概述

一、概述

二、特點

優點:

缺點:


一、概述

  1. 全稱爲Hadoop Distributed File System ,Hadoop分佈式文件存儲系統
  2. HDFS是根據谷歌的論文:《The Google File System》進行設計的
  3. 本身是一個分佈式的,可擴展,可靠的文件系統
  4. HDFS中包含三個主要的進程:NameNode,DataNode,SecondaryNameNode。這三個進程一般是分佈式不同的主機上,所以一般習慣上是用進程的名字稱呼節點

二、特點

優點:

  1. 支持超大文件。超大文件在這裏指的是幾百M,幾百GB,甚至幾TB大小的文件。一般來說Hadoop的文件系統會存儲TB級別或者PB級別的數據。所以在企業的應用中,數據節點有可能有上千個
  2. 檢測和快速應對硬件故障。在集羣的環境中,硬件故障是常見的問題。因爲有上千臺服務器連接在一起,這樣會導致高故障率。因此故障檢測和自動恢復(心跳機制)是HDFS文件系統的一個設計目標
  3. 流式數據訪問。HDFS的數據處理規模比較大,應用一次需要訪問大量的數據,同時這些應用一般都是批量處理,而不是用戶交互式處理。應用程序能以流的形式訪問數據集。主要的是數據的吞吐量,而不是訪問速度
  4.  簡化的一致性模型。大部分hdfs操作文件時,需要一次寫入,多次讀取。在HDFS中,一個文件一旦經過創建、寫入、關閉後,一般就不需要修改了。這樣簡單的一致性模型,有利於提高吞吐量
  5. 高容錯性。數據自動保存多個副本,副本丟失後自動恢復
  6. 可構建在廉價機器上。構建在廉價機器上可以輕鬆的通過擴展機器數量來近乎線性的提高集羣存儲能力

缺點:

  1. 不能低延遲數據訪問。如和用戶進行交互的應用,需要數據在毫秒或秒的範圍內得到響應。由於Hadoop針對海量數據的吞吐量做了優化,犧牲了獲取數據的延遲,所以對於低延遲來說,不適合用hadoop來做
  2. 不適合存儲大量的小文件。HDFS支持超大的文件,是通過數據分佈在數據節點,數據的元數據保存在名字節點上。名字節點的內存大小,決定了HDFS文件系統可保存的文件數量。雖然現在的系統內存都比較大,但大量的小文件還是會影響名字節點的性能
  3. 不支持多用戶寫入、修改文件。HDFS的文件只能有一次寫入,不支持修改和追加寫入(2.0版本支持追加),也不支持修改。只有這樣數據的吞吐量才能大
  4. 不支持超強的事務。沒有像關係型數據庫那樣,對事務有強有力的支持,不會因爲一個塊的丟失影響全部數據,因爲數據量太大。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章