hdfs是乙個分布式檔案系統,通過目錄樹來定位檔案。hdfs的設計適合一次寫入,多次讀取的場景,且不支援檔案的修改。
(1)優點
1)高容錯性
資料自動儲存多個副本,通過增加副本提高容錯性。
某乙個副本丟失,可以自動恢復
2)適合大資料處理
資料規模:可以處理gb、tb、甚至pb的資料
檔案規模:處理百萬以上的檔案數量
一次寫入,多次讀取,不能修改,只能追加,保證資料的一致性
4)成本低
集群構建在廉價的機器上,多副本機制提高可靠性
(2)缺點
1)不適合低延遲的資料訪問
2)無法高效處理大量小檔案的儲存
儲存大量小檔案的話,會占用namenode大量的記憶體來儲存元資訊。
小檔案的儲存的定址時間會超過讀取時間,違反了hdfs的設計目標。
3)不能併發寫入和檔案隨機修改
乙個檔案只能有乙個寫,不允許多個執行緒同時寫
僅支援資料的追加,不支援檔案的隨機修改
hdfs中的檔案在物理上是分塊儲存的,塊的大小可以通過配置引數來規定,預設是128m。
hdfs的塊比磁碟大,目的是為了最小定址時間。如果塊設定的足夠大,從磁碟傳輸資料的時間會明顯大於定址時間。因此傳輸乙個由多個塊組成的檔案的時間取決於磁碟的傳輸速率。
如果定址時間約為 10ms,而 傳輸速率為 100mb/s,為了使定址時間僅佔傳輸時間的 1%,我們要將塊大小設定約為 100mb。預設的塊大小 128mb。
研磨Kafka之初探
kafka是乙個基於發布 訂閱模式的分布式訊息佇列。1 點對點模式 一對一,消費者主動拉取資料,訊息收到後訊息清除 2 發布 訂閱模式 一對多,消費者消費資料之後不會清除訊息 kafka是屬於發布 訂閱模式的拉取模式 發布 訂閱有兩種資料消費模式 push pull 模式 1 producer 訊息...
hadoop之HDFS的擴充
最近在vm中進行擴容之後考慮,openstack的容量新增,隨之想起hdfs的容量擴充的問題,從網上查詢資料之後,現總結如下 首先在伺服器上大都使用的linux的系統,實驗上大都採用的是centos開源的專案。在linux中新增硬碟時,需要考慮的是容量,但是隨著硬體資源的擴充套件現在磁碟的容量可鞥會...
Hadoop程式設計實現之HDFS
hdfs原理圖 下面我們來寫乙個基於hdfs的demo,該demo主要實現的是將hdfs上的乙個檔案內容讀取出來並儲存到另乙個檔案上的功能。1.輔助類 這個類主要是用來獲取hdfs檔案系統連線的 public class hdfsutils param popenuri param puser re...