研磨Hadoop之HDFS初探

2021-09-28 14:52:01 字數 848 閱讀 1730

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...