完全解析分布式存儲,帶你了解HDFS的塊-創(chuàng)新互聯(lián)

在大數(shù)據的學習過程中,我們經常會聽到“分布式”這三個字,那個所謂的“分布式”到底是什么意思?我們看到一些古裝電視劇電影,在古代,生產力比較低下,沒有現(xiàn)在的各種便捷的交通工具。人們需要運輸一些貨物的時候,最常見的方式就是套馬車,用馬來拉動車。如果需要拉的貨物比較多,一匹馬拉不動呢?人們的做法并不是訓練一匹更加強壯的馬,而是會使用多匹馬同時來拉動這輛馬車。這就是分布式的思想!

創(chuàng)新互聯(lián)建站服務項目包括竹溪網站建設、竹溪網站制作、竹溪網頁制作以及竹溪網絡營銷策劃等。多年來,我們專注于互聯(lián)網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網行業(yè)的解決方案,竹溪網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到竹溪省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

那么在程序世界中,單臺服務器的能力是有限的,雖然我們可以堆配置來構建一臺性能非常強悍的服務器,但是上限還是容易達到的,且成本會非常的高。為了解決這樣的問題,我們就可以使用多臺服務器協(xié)同工作,共同來完成指定的任務,組成一個服務器集群,而這樣的集群我們通常也就稱為--分布式集群。

分布式集群可以提供數(shù)據的存儲、計算等操作。今天我們就來聊一聊分布式存儲,也就是一個分布式文件系統(tǒng)。其實在HDFS之前,也有一些其他的分布式文件系統(tǒng),籠統(tǒng)的來說,只要是實現(xiàn)了將數(shù)據分散的存儲在多個節(jié)點上進行存儲,并且可以實現(xiàn)數(shù)據的讀取就可以稱為是“分布式文件系統(tǒng)”。

傳統(tǒng)的分布式文件系統(tǒng)的缺點

現(xiàn)在想象一下這種情況:有四個文件 0.5TB的file1,1.2TB的file2,50GB的file3,100GB的file4;有7個服務器,每個服務器上有10個1TB的硬盤。

在存儲方式上,我們可以將這四個文件存儲在同一個服務器上(當然大于1TB的文件需要切分),我們需要使用一個文件來記錄這種存儲的映射關系吧。用戶是可以通過這種映射關系來找到節(jié)點硬盤相應的文件的。那么缺點也就暴露了出來:

第一、負載不均衡。

因為文件大小不一致,勢必會導致有的節(jié)點磁盤的利用率高,有的節(jié)點磁盤利用率低。

第二、網絡瓶頸問題。

一個過大的文件存儲在一個節(jié)點磁盤上,當有并行處理時,每個線程都需要從這個節(jié)點磁盤上讀取這個文件的內容,那么就會出現(xiàn)網絡瓶頸,不利于分布式的數(shù)據處理。

HDFS的塊結構

HDFS與其他普通文件系統(tǒng)一樣,同樣引入了塊(Block)的概念,并且塊的大小是固定的。但是不像普通文件系統(tǒng)那樣小,而是根據實際需求可以自定義的。塊是HDFS系統(tǒng)當中的最小存儲單位,在hadoop2.0中默認大小為128MB(hadoop1.x中的塊大小為64M)。在HDFS上的文件會被拆分成多個塊,每個塊作為獨立的單元進行存儲。多個塊存放在不同的DataNode上,整個過程中 HDFS系統(tǒng)會保證一個塊存儲在一個數(shù)據節(jié)點上 。但值得注意的是,如果某文件大小或者文件的最后一個塊沒有到達128M,則不會占據整個塊空間 。

塊的存儲位置

在hdfs-site.xml中我們配置過下面這個屬性,這個屬性的值就是塊在linux系統(tǒng)上的存儲位置

dfs.datanode.data.dirfile://${hadoop.tmp.dir}/dfs/data

HDFS的優(yōu)點

1. 高容錯性(硬件故障是常態(tài)):數(shù)據自動保存多個副本,副本丟失后,會自動恢復

2. 適合大數(shù)據集:GB、TB、甚至PB級數(shù)據、千萬規(guī)模以上的文件數(shù)量,1000以上節(jié)點規(guī)模。

3. 數(shù)據訪問: 一次性寫入,多次讀??;保證數(shù)據一致性,安全性

4. 構建成本低:可以構建在廉價機器上。

5. 多種軟硬件平臺中的可移植性

6. 高效性:Hadoop能夠在節(jié)點之間動態(tài)地移動數(shù)據,并保證各個節(jié)點的動態(tài)平衡,因此處理速度非??臁?/p>

7. 高可靠性:Hadoop的存儲和處理數(shù)據的能力值得人們信賴.

HDFS的缺點

1. 不適合做低延遲數(shù)據訪問:

HDFS的設計目標有一點是:處理大型數(shù)據集,高吞吐率。這一點勢必要以高延遲為代價的。因此HDFS不適合處理用戶要求的毫秒級的低延遲應用請求

2. 不適合小文件存?。?/p>

1. 從存儲能力出發(fā)(固定內存)

因為HDFS的文件是以塊為單位存儲的,且如果文件大小不到128M的時候,是不會占用整個塊的空間的。但是,這個塊依然會在內存中占用150個字節(jié)的元數(shù)據。因此,同樣的內存占用的情況下,大量的小文件會導致集群的存儲能力不足。

例如: 同樣是128G的內存,最多可存儲9.2億個塊。如果都是小文件,例如1M,則集群存儲的數(shù)據大小為9.2億*1M = 877TB的數(shù)據。但是如果存儲的都是128M的文件,則集群存儲的數(shù)據大小為109.6PB的數(shù)據。存儲能力大不相同。

2. 從內存占用出發(fā)(固定存儲能力)

同樣假設存儲1M和128M的文件對比,同樣存儲1PB的數(shù)據,如果是1M的小文件存儲,占用的內存空間為1PB/1Mb*150Byte = 150G的內存。如果存儲的是128M的文件存儲,占用的內存空間為1PB/128M*150Byte = 1.17G的內存占用??梢钥吹?,同樣存儲1PB的數(shù)據,小文件的存儲比起大文件占用更多的內存。

3. 不適合并發(fā)寫入,文件隨機修改:

HDFS上的文件只能擁有一個寫者,僅僅支持append操作。不支持多用戶對同一個文件的寫操作,以及在文件任意位置進行修改。


幫助到你的話就點個關注吧~

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

新聞名稱:完全解析分布式存儲,帶你了解HDFS的塊-創(chuàng)新互聯(lián)
當前URL:http://muchs.cn/article2/ceecoc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、軟件開發(fā)小程序開發(fā)、網站內鏈品牌網站設計、虛擬主機

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網站建設