白話大數(shù)據(jù)之HDFS-創(chuàng)新互聯(lián)

很多書上講的都太深奧了,從官方的解釋翻譯過來,或者加一些注解,但是我們的廣大需要入門的同學(xué)們需要白話,講的越簡單越好,因此,我整理一下,先把目錄寫在這里:

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),小程序設(shè)計,軟件按需策劃設(shè)計等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。
  1. 首先說,為什么要用hadoop

  2. 講一講什么是文件系統(tǒng)

  3. 硬盤的發(fā)展過程

  4. 水道渠成,來看一下HDFS

  5. 實踐過程

接下來,一個個的說

  1. 為什么要用hadoop

因為分布式存儲+分布式計算,比單機能存的更多,計算時一堆CPU工作,也比一臺機器上的多個CPU性能要好。

2.什么是文件系統(tǒng)

那HDFS是什么,HDFS是Hadoop Distributed File System ??梢岳斫鉃閔adoop的一個模塊,專門用于管理文件存儲。

為了便于深刻的理解HDFS,我們先要了解什么是文件系統(tǒng),因為HDFS從直譯過來看就是hadoop的分布式 文件系統(tǒng),所以我們先看看文件系統(tǒng)。

先設(shè)想一下,假設(shè)給你一塊磁盤,里面總共有100G的可用空間,你會怎么用掉這些空間呢?

當(dāng)然我們都知道要先格式化,但你知道為什么要格式化么。。。。格式化之后就會建立文件系統(tǒng)

其實很簡單,好多人都應(yīng)該做過磁盤碎片整理,應(yīng)該大概了解磁盤簇的概念吧,那就是格式化時干的,其實簇就是文件系統(tǒng)的一個組成部分。假設(shè)把磁盤存儲空間想像成一張白紙,數(shù)據(jù)是要往白紙上寫的字。格式化就是在紙上畫好線,將紙上分成一個一個的小格子。對應(yīng)到咱們硬盤上,也就是劃出了很多磁盤簇,通常一個簇是2k大小。但是在硬盤上的簇會比紙上的小格子要復(fù)雜一些,因為他還有些附加的內(nèi)容,里面至少還會記錄著這些內(nèi)容:我的上一簇在哪里,我的下一簇在哪里

好了,當(dāng)你存儲一個文件的時候,先要找到一塊磁盤上的空間吧,我們當(dāng)然希望是在磁盤上有塊連續(xù)的空間,這樣存儲和讀取效率都會很高。但是,你的文件有可能會被繼續(xù)編輯吧,他有可能在某一天,會從原來的20M變成30M,但是需要增加存儲空間的時候,有可能會發(fā)現(xiàn),啊,20M后面那些空間沒有了,被另一個文件給占用了。那怎么辦,是否需要把后面的所有文件都整體后移10M呢,這種低效的工作相信你也不會干。所以呢,只需要再找一片10M的空間,然后讓你前20M的最后一個簇的指向(我的下一簇在哪里)指向新找到的10M的首個簇就行了。這就是文件系統(tǒng)提供的能力啊

那么再來,你一定會注意到,文件系統(tǒng)應(yīng)該知道磁盤上的每一簇的大致情況,比如哪個簇上有數(shù)據(jù),哪個簇是空白的,對吧

這是當(dāng)然的,那文件系統(tǒng)怎么知道呢?還記得你曾經(jīng)聽過的一個詞么,叫作FAT,后來有FAT16,F(xiàn)AT32,再后來是NTFS(這些都是windows文件系統(tǒng)里面用到的,我沒有提linux的文件系統(tǒng),但是道理應(yīng)該一樣的),咱們就從最簡單的開始說吧,F(xiàn)AT(File Allocation Table)翻譯過來就是文件分配表,通常放在磁盤的頭部。從名字上你也能大概知道他是干什么的吧。其實他就是文件系統(tǒng)的主要登記文件存放在哪個簇上的地方。這個FAT很重要啊,千萬不能搞丟了,一旦丟了,磁盤上的文件也就找不到了(會用磁盤修復(fù)工具或土豪請人修復(fù)的除外)。你可以把FAT理解為是磁盤上存儲內(nèi)容的一個總目錄,磁盤上的文件被刪除、新增、移動等等操作,都對應(yīng)的會要修改FAT里面的內(nèi)容。

那么,我們再想想,這樣的一個FAT有多大,能存多少內(nèi)容呢,他又能管理多少磁盤簇呢。對了,他是在限制的,一個FAT16僅能管理不超過2G的磁盤空間,后來FAT32做了改進,可以管理2T的空間。NTFS又做了改進,就沒有空間限制了,因為NTFS會有很多的FAT32類似的東東,不再集中放在磁盤頭部了,會在很多地方都有,數(shù)量也會隨著磁盤容量變化。

什么什么。。。。

FAT16僅能2G的磁盤空間。。。。還記得那個年代你買個電腦回家的時候,磁盤要分區(qū)么,也有這個原因的。

好了,我們大概回顧了一下當(dāng)年的文件系統(tǒng)FAT,你也會大概明白文件系統(tǒng)的作用,有了他,我們的操作系統(tǒng)存儲文件的時候才安心。就像是咱們新買的房子里面,放東西的時候肯定不會亂堆在地上,我們都會買些家具,讓家里多些格式,這樣放的東西規(guī)矩了,才會更多些,找的時候也好找。

3.硬盤的發(fā)展過程

這個比較簡單,我剛學(xué)電腦那會,硬盤存儲空間是論M的,后來有個存儲1G的磁盤的時候,覺得牛B的不得了。

再看看現(xiàn)在,磁盤動不動就2T

而且,我們的服務(wù)器上還有RAID技術(shù),也就是磁盤陣列技術(shù),可以把一堆磁盤,格式化成一個磁盤,這樣一來,存儲空間就變多了。這曾經(jīng)是非常牛的技術(shù),現(xiàn)在當(dāng)然也挺火的。

但是,你以為磁盤的發(fā)展速度夠快了么,其實也是挺快的。但是數(shù)據(jù)的發(fā)展速度更快。尤其在互聯(lián)網(wǎng)時代,真的是爆炸

再牛的硬盤和陣列,也不夠存的。比如我們?nèi)ツ甑臅r候,一天的數(shù)據(jù)增量是150T左右,你可以想像么。

就算你今天用幾塊大硬盤存上,明天再找?guī)讐K大硬盤,但是你查找數(shù)據(jù)的時候呢,你做分析的時候呢。

怎么辦,硬盤技術(shù)要變革么。。。。

人們是很聰明的,自然而然的就會想到,我們可以模仿磁盤陣列技術(shù),寫一個軟件 ,把一大堆機器上的磁盤都統(tǒng)一管理起來,這樣做成一個超大的虛擬磁盤可以不。哈,必須可以,那么,隨著這種想法,這就是DFS的思路,所以hadoop也有了一個具體想法,他也實施了出來,那就是他的HDFS了。

所以你可以看到磁盤的發(fā)展路徑

小磁盤-大磁盤-磁盤陣列-虛擬的分布式磁盤群

4.水道渠成,來看一下HDFS

既然要做一個虛擬磁盤,是不是也得像真正的磁盤存儲那樣子搞呢,思路相似

我們上面講的最初的文件系統(tǒng)FAT,其實分布式的磁盤也是需要的啊,但名字肯定不會這么叫了,所以hadoop起了個名字:namenode

另外,普通硬盤格式化之后有磁盤簇,HDFS格式化之后是什么呢,當(dāng)然也是一個個的存儲小格式,名字呢,hadoop稱之為datanode。

namenode肯定是存在某一臺或者少數(shù)幾臺機器上的了,相當(dāng)于整個虛擬磁盤的總目錄,他會記錄哪些datanode是空白的,哪些datanode上面有文件。你看,是不是和FAT很相似。但是比較燒腦的是,他現(xiàn)在管理的是好多臺機器上的好多磁盤存儲。你可以想像,在你部署的HDFS集群上面,實際是運行了一個虛擬的大磁盤,是不是好帥

了解了上面這些之后,可以看看另一篇文章,我覺得寫得很不錯,直接收藏在這里供參考:

http://www.cnblogs.com/laov/p/3434917.html

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁標(biāo)題:白話大數(shù)據(jù)之HDFS-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://www.muchs.cn/article30/djposo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站改版網(wǎng)站制作、外貿(mào)建站、企業(yè)建站、外貿(mào)網(wǎng)站建設(shè)

廣告

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

綿陽服務(wù)器托管