hadoop的HDFS檔案儲存

2021-07-10 17:44:45 字數 1359 閱讀 8495

1:什麼是hdfs?

hdfs適合做:

儲存大檔案。上g、t甚至p。

一次寫入,多次讀取。並且每次作業都要讀取大部分的資料。

搭建在普通商業機群上就可以了。雖然會經常宕機,但hdfs有良好的容錯機制。

hdfs不適合做:

實時資料獲取。如果有這個需求可以用hbase。

很多小檔案。因為namenode要儲存hdfs的metadata(比如目錄的樹狀結構,每個檔案的檔名、acl、長度、owner、檔案內容存放的位置等等資訊),所以hdfs上檔案的數目受到namenode記憶體的限制。

併發環境下的寫入和修改。

hadoop中儲存檔案以hdfs形式儲存,hdfs擁有自己的設計原則:

1:檔案大小以block塊的形式儲存

2:每個塊至少分配到三颱datanode(看集群情況而定)

3:通過副本機制提高可靠度和吞吐量

4:hadoop1.0使用單一的master(namenode)來協調儲存元資料(metadata)

5:最有意思的是hadoop設計者沒有設定客戶端快取機制,因為我們對處理資料有足夠的信心。

下圖為hdfs的系統結構

namenode:主要儲存元資料:例如:檔名,拷貝幾份,分別備份到**;

過程大概如下:

client要向集群中寫入資料,首先詢問master(namenode),master告知客戶端向哪些datanode

寫入資料,在往datanode寫入資料的同時,datanode與namenode保持心跳,如果datanode在執行

任務失敗,namenode會通過心跳機制得知datanode死掉,將重新分配新的任務到其他的datanode。

2:block之副本放置策略

第一副本:放置在上傳檔案datanode,如果是集群外提交,由namenode選擇一台磁碟不太滿,

cpu不太忙的節點。

第二副本:放置在於第一副本不同的機架的節點上

第三副本:與第二個副本相同集群的節點

也許根據業務的需要我們需要更多地副本,其他副本隨機分配

3:block的儲存形式

1:block預設大小64m,如果上傳檔案小於64m,那麼仍然占用乙個命名空間(namenode metadata),

但是物理儲存不會占用64m空間;(這也是hadoop為什麼不太適合處理小資料的原因之一)

2:block大小和副本數由client端上傳檔案到hdfs時設定,其中副本數可以變更,block是不可以再上    傳後變更的

Hadoop中hdfs如何儲存檔案

安裝hadoop單機版 hadoop檔案系統操作指令 從安裝hadoop 單機版的配置說起 在這裡配置了hadoop的檔案目錄 1.啟動hadoop 並上傳檔案 上傳檔案命令 hadoop fs put hadoop 2.9.2.tar.gz hdfs hdgroup01 9000 可以看到已經上傳...

Hadoop中HDFS的儲存機制

hadoop中hdfs的儲存機制 hdfs hadoop distributed file system 是hadoop分布式計算中的資料儲存系統,是基於流資料模式訪問和處理超大檔案的需求而開發的。下面我們首先介紹hdfs中的一些基礎概念,然後介紹hdfs中讀寫操作的過程,最後分析了hdfs的優缺點...

Hadoop中的HDFS的儲存機制

hadoop中hdfs的儲存機制 hdfs hadoop distributed file system 是hadoop分布式計算中的資料儲存系統,是基於流資料模式訪問和處理超大檔案的需求而開發的。下面我們首先介紹hdfs中的一些基礎概念,然後介紹hdfs中讀寫操作的過程,最後分析了hdfs的優缺點...