最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

如何快速入門大數(shù)據(jù)?HDFS基本原理和設(shè)計理念

2021-01-06 15:49 作者:編程大戰(zhàn)  | 我要投稿

本節(jié)將對 HDFS 的基本原理進(jìn)行講解。

文件系統(tǒng)的問題

文件系統(tǒng)是操作系統(tǒng)提供的磁盤空間管理服務(wù),該服務(wù)只需要用戶指定文件的存儲位置及文件讀取路徑,而不需要用戶了解文件在磁盤上是如何存放的。

但是當(dāng)文件所需空間大于本機磁盤空間時,應(yīng)該如何處理呢?

  • 加磁盤,但是加到一定程度就有限制了。加機器,即用遠(yuǎn)程共享目錄的方式提供網(wǎng)絡(luò)化的存儲,這種方式可以理解為分布式文件系統(tǒng)的雛形,它可以把不同文件放入不同的機器中,而且空間不足時可繼續(xù)加機器,突破了存儲空間的限制。

但是這種傳動的分布式文件系統(tǒng)存在多個問題。

1)各個存儲結(jié)點的負(fù)載不均衡,單機負(fù)載可能極高。例如,如果某個文件是熱門文件,則會有很多用戶經(jīng)常讀取這個文件,這就會造成該文件所在機器的訪問壓力極高。

2)數(shù)據(jù)可靠性低。如果某個文件所在的機器出現(xiàn)故障,那么這個文件就不能訪問了,甚至?xí)斐蓴?shù)據(jù)的丟失。

3)文件管理困難。如果想把一些文件的存儲位置進(jìn)行調(diào)整,就需要查看目標(biāo)機器的空間是否夠用,并且需要管理員維護(hù)文件位置,在機器非常多的情況下,這種操作就極為復(fù)雜。

HDFS 的基本思想

HDFS 是個抽象層,底層依賴很多獨立的服務(wù)器,對外提供統(tǒng)一的文件管理功能。HDFS 的基本架構(gòu)如圖 1 所示。

圖 1 HDFS的基本架構(gòu)

例如,用戶訪問 HDFS 中的 /a/b/c.mpg 這個文件時,HDFS 負(fù)責(zé)從底層的相應(yīng)服務(wù)器中讀取該文件,然后返回給用戶,這樣用戶就只需和 HDFS 打交道,而不用關(guān)心這個文件是如何存儲的。

為了解決存儲結(jié)點負(fù)載不均衡的問題,HDFS 首先把一個文件分割成多個塊,然后再把這些文件塊存儲在不同服務(wù)器上。這種方式的優(yōu)勢就是不怕文件太大,并且讀文件的壓力不會全部集中在一臺服務(wù)器上,從而可以避免某個熱點文件會帶來的單機負(fù)載過高的問題。

例如,用戶需要保存文件 /a/b/xxx.avi 時,HDFS 首先會把這個文件進(jìn)行分割,如分為 4 塊,然后分別存放到不同的服務(wù)器上,如圖 2 所示。

但是如果某臺服務(wù)器壞了,那么文件就會讀不全。如果磁盤不能恢復(fù),那么存儲在上面的數(shù)據(jù)就會丟失。為了保證文件的可靠性,HDFS 會把每個文件塊進(jìn)行多個備份,一般情況下是 3 個備份。

假如要在由服務(wù)器 A、B、C 和 D 的存儲結(jié)點組成的 HDFS 上存儲文件 /a/b/xxx.avi,則 HDFS 會把文件分成 4 塊,分別為塊 1、塊 2、塊 3 和塊 4。為了保證文件的可靠性,HDFS 會把數(shù)據(jù)塊按以下方式存儲到 4 臺服務(wù)器上,如圖 3 所示。

圖 2 HDFS 文件分塊存儲示意
圖 3 HDFS 文件多副本存儲示意

采用分塊多副本存儲方式后,HDFS 文件的可靠性就大大增強了,即使某個服務(wù)器出現(xiàn)故障,也仍然可以完整讀取文件,該方式同時還帶來一個很大的好處,就是增加了文件的并發(fā)訪問能力。例如,多個用戶讀取這個文件時,都要讀取塊 1,HDFS 可以根據(jù)服務(wù)器的繁忙程度,選擇從哪臺服務(wù)器讀取塊 1。

為了管理文件,HDFS 需要記錄維護(hù)一些元數(shù)據(jù),也就是關(guān)于文件數(shù)據(jù)信息的數(shù)據(jù),如 HDFS 中存了哪些文件,文件被分成了哪些塊,每個塊被放在哪臺服務(wù)器上等。

HDFS 把這些元數(shù)據(jù)抽象為一個目錄樹,來記錄這些復(fù)雜的對應(yīng)關(guān)系。這些元數(shù)據(jù)由一個單獨的模塊進(jìn)行管理,這個模塊叫作名稱結(jié)點(NameNode)。存放文件塊的真實服務(wù)器叫作數(shù)據(jù)結(jié)點(DataNode)。

HDFS 的設(shè)計理念

簡單來講,HDFS 的設(shè)計理念是,可以運行在普通機器上,以流式數(shù)據(jù)方式存儲文件,一次寫入、多次查詢,具體有以下幾點。

1) 可構(gòu)建在廉價機器上

HDFS 的設(shè)計理念之一就是讓它能運行在普通的硬件之上,即便硬件出現(xiàn)故障,也可以通過容錯策略來保證數(shù)據(jù)的高可用性。

2)高容錯性

由于 HDFS 需要建立在普通計算機上,所以結(jié)點故障是正常的事情。HDFS 將數(shù)據(jù)自動保存多個副本,副本丟失后,自動恢復(fù),從而實現(xiàn)數(shù)據(jù)的高容錯性。

3)適合批處理

HDFS 適合一次寫入、多次查詢(讀?。┑那闆r。在數(shù)據(jù)集生成后,需要長時間在此數(shù)據(jù)集上進(jìn)行各種分析。每次分析都將涉及該數(shù)據(jù)集的大部分?jǐn)?shù)據(jù)甚至全部數(shù)據(jù),因此讀取整個數(shù)據(jù)集的時間延遲比讀取第一條記錄的時間延遲更重要。

4) 適合存儲大文件

這里說的大文件包含兩種意思:一是值文件大小超過 100MB 及達(dá)到 GB 甚至 TB、PB 級的文件;二是百萬規(guī)模以上的文件數(shù)量。

HDFS 的局限

HDFS 的設(shè)計理念是為了滿足特定的大數(shù)據(jù)應(yīng)用場景,所以 HDFS 具有一定的局限性,不能適用于所有的應(yīng)用場景,HDFS 的局限主要有以下幾點。

1) 實時性差

要求低時間延遲的應(yīng)用不適合在 HDFS 上運行,HDFS 是為高數(shù)據(jù)吞吐量應(yīng)用而優(yōu)化的,這可能會以高時間延遲為代價。

2) 小文件問題

由于 NameNode 將文件系統(tǒng)的元數(shù)據(jù)存儲在內(nèi)存中,因此該文件系統(tǒng)所能存儲的文件總量受限于 NameNode 的內(nèi)存總?cè)萘?。根?jù)經(jīng)驗,每個文件、目錄和數(shù)據(jù)塊的存儲信息大約占 150 字節(jié)。過多的小文件存儲會大量消耗 NameNode 的存儲量。

3)文件修改問題

HDFS 中的文件只有一個寫入者,而且寫操作總是將數(shù)據(jù)添加在文件的末尾。HDFS 不支持具有多個寫入者的操作,也不支持在文件的任意位置進(jìn)行修改。

大數(shù)據(jù)全套教程,點擊觀看:大數(shù)據(jù)全套教程2020年終版_就業(yè)班全套共20個階段



如何快速入門大數(shù)據(jù)?HDFS基本原理和設(shè)計理念的評論 (共 條)

分享到微博請遵守國家法律
巍山| 新竹县| 泾阳县| 北宁市| 商水县| 铜山县| 潮州市| 息烽县| 三河市| 新郑市| 新竹县| 瑞安市| 太白县| 竹溪县| 大兴区| 攀枝花市| 新安县| 集安市| 肇州县| 青岛市| 阳江市| 定边县| 杭锦后旗| 仁布县| 临江市| 读书| 灵寿县| 江北区| 锡林郭勒盟| 阿尔山市| 文登市| 福泉市| 遵化市| 法库县| 桂林市| 泸定县| 亚东县| 霍山县| 乌鲁木齐市| 东平县| 西盟|