1、高容錯性
-
數據自動保存多個副本。它通過增加副本的形式,提高容錯性。
-
某一個副本丟失以后,它可以自動恢復,這是由 HDFS 內部機制實現的。
2、適合批處理
-
它是通過移動計算而不是移動數據。
-
它會把數據位置暴露給計算框架。
3、適合大數據處理
-
處理數據達到 GB、TB、甚至PB級別的數據。
-
能夠處理百萬規模以上的文件數量,數量相當之大。
-
能夠處理10K節點的規模。
4、流式文件訪問
-
一次寫入,多次讀取。文件一旦寫入不能修改,只能追加。
-
它能保證數據的一致性。
5、可構建在廉價機器上
-
它通過多副本機制,提高可靠性。
-
它提供了容錯和恢復機制。比如某一個副本丟失,可以通過其它副本來恢復。
1、低延時數據訪問
-
比如毫秒級的來存儲數據,它做不到。
-
它適合高吞吐率的場景,就是在某一時間內寫入大量的數據。
2、小文件存儲
-
存儲大量小文件(這里的小文件是指小於HDFS系統的Block大小的文件(默認64M))的話,它會占用 NameNode大量的內存來存儲文件、目錄和塊信息。這樣是不可取的,因為NameNode的內存總是有限的。
-
小文件存儲的尋道時間會超過讀取時間,它違反了HDFS的設計目標。
3、並發寫入、文件隨機修改
-
一個文件只能有一個寫,不允許多個線程同時寫。
-