Hadoop大數(shù)據(jù)入門到實戰(zhàn)(第三節(jié)) - HDFS文件系統(tǒng)上(入門)

本小節(jié)我們來學習Hadoop的HDFS系統(tǒng),我們先來體驗一下HDFS然后再來了解他的原理搁胆。

HDFS初體驗

HDFS(分布式文件管理系統(tǒng))块促,顧名思義登澜,它就是我們用來管理海量文件的一個系統(tǒng)∷矗現(xiàn)在是一個數(shù)據(jù)量爆炸的時代牛隅,普通的操作系統(tǒng)管轄不了這么多文件,那么就需要分配到更多文件系統(tǒng)的磁盤中酌泰,但是這樣又不利于管理和維護倔叼,所以我們迫切的需要一個系統(tǒng)來管理多臺機器上的文件,分布式文件管理系統(tǒng)就應運而生宫莱。
分布式文件系統(tǒng)是一種允許文件通過網(wǎng)絡(luò)在多臺主機上分享的文件系統(tǒng),可以讓可讓多機器上的多用戶分享文件和存儲空間哩罪。
分布式文件系統(tǒng)有很多授霸,HDFS是最常見也是使用人數(shù)最多的系統(tǒng)之一,適用于一次寫入多次查詢的情況际插,不支持并發(fā)寫的情況碘耳,小文件不合適放在HDFS系統(tǒng)中。
剛開始學習框弛,你可以簡單的將HDFS理解為Windows文件系統(tǒng)辛辨。
好了,說了這么多我們開始用一用吧瑟枫。

首先我們啟動HDFS:

start-dfs.sh 

接著我們來查看HDFS的根目錄:

hadoop fs -ls /
image.png

現(xiàn)在輸入該命令應該是空空如也的斗搞,因為我們HDFS系統(tǒng)中還沒有任何文件和文件夾,好既然沒有那咱們就來創(chuàng)建一個文件夾慷妙。

image.png

創(chuàng)建文件夾之后輸入之前的命令就可以看到根目錄下有一個test文件夾僻焚。

接下來我們在本地創(chuàng)建一個文件編寫一些內(nèi)容,然后上傳到HDFS系統(tǒng)中膝擂。

image.png
image.png

hello.txt 上傳到HDFS的 /text 文件夾中虑啤。

接下來我們來查看剛剛上傳的文件隙弛。


image.png

使用-cat命令即可查看HDFS中的文件。

我們也可以通過Hadoop自帶的Web頁面來查看集群中的文件狞山,http://localhost:9870/ 如果要在windows系統(tǒng)中訪問該頁面全闷,localhost修改成虛擬機ip。

image.png

下面這個表格是HDFS的一些常用操作萍启,我們不用專門背下來总珠,記住幾個常用的,其他的以后用到了查一查就可以了伊约。

選項名稱 使用格式 含義
-ls -ls <路徑> 查看指定路徑的當前目錄結(jié)構(gòu)
-lsr -lsr <路徑> 遞歸查看指定路徑的目錄結(jié)構(gòu)
-du -du <路徑> 統(tǒng)計目錄下個文件大小
-dus -dus <路徑> 匯總統(tǒng)計目錄下文件(夾)大小
-count -count [-q] <路徑> 統(tǒng)計文件(夾)數(shù)量
-mv -mv <源路徑> <目的路徑> 移動
-cp -cp <源路徑> <目的路徑> 復制
-rm -rm [-skipTrash] <路徑> 刪除文件/空白文件夾
-rmr -rmr [-skipTrash] <路徑> 遞歸刪除
-put -put <多個 linux 上的文件> <hdfs 路徑> 上傳文件
-copyFromLocal -copyFromLocal <多個 linux 上的文件><hdfs 路徑> 從本地復制
-moveFromLocal -moveFromLocal <多個 linux 上的文件><hdfs 路徑> 從本地移動
-getmerge -getmerge <源路徑> <linux 路徑> 合并到本地
-cat -cat <hdfs 路徑> 查看文件內(nèi)容
-text -text <hdfs 路徑> 查看文件內(nèi)容
-copyToLocal -copyToLocal [-ignoreCrc] [-crc] [hdfs 源路徑] [linux 目的路徑] 從本地復制
-moveToLocal -moveToLocal [-crc] <hdfs 源路徑> <linux目的路徑> 從本地移動
-mkdir -mkdir <hdfs 路徑> 創(chuàng)建空白文件夾
-setrep -setrep [-R] [-w] <副本數(shù)> <路徑> 修改副本數(shù)量
-touchz -touchz <文件路徑> 創(chuàng)建空白文件

HDFS體系結(jié)構(gòu)與基本概念

初步體驗了HDFS系統(tǒng)之后姚淆,接下來就要學習原理了,一般原理都是比較枯燥的屡律,但卻非常重要腌逢,是本小節(jié)的重點。

HDFS文件系統(tǒng)結(jié)構(gòu)

HDFS以流式數(shù)據(jù)訪問模式來存儲超大文件超埋,運用于商用硬件集群上搏讶。(超大文件一般指幾百G甚至幾百TB或PB級大小的文件)。
HDFS的文件系統(tǒng)是一個主從結(jié)構(gòu)霍殴,即master/slave結(jié)構(gòu)媒惕,只有一個主節(jié)點namenode,有多個子節(jié)點datanode来庭,namenode負責管理文件系統(tǒng)和命名空間妒蔚,并且負責客戶端(client)對文件系統(tǒng)的訪問,datanode負責存儲數(shù)據(jù)月弛。
HDFS中的文件是以數(shù)據(jù)塊(blok)的形式存儲在datanode中的肴盏。每一個數(shù)據(jù)塊是64M或者128M、256M帽衙,文件拆分成若干個block菜皂,這些block存放在DataNode節(jié)點上。NameNode操作名字空間比如:打開厉萝,關(guān)閉恍飘,重命名文件目錄。DataNode負責為文件系統(tǒng)的客戶提供讀/寫操作服務谴垫。DataNode同時還為NameNode提供block創(chuàng)建章母,刪除,備份機制翩剪,NameNode只負責元數(shù)據(jù)信息胳施,沒有數(shù)據(jù)流。NameNode維護名字空間肢专,任何對文件系統(tǒng)名字空間的改動都記錄在NameNode舞肆。系統(tǒng)的文件組織結(jié)構(gòu)和linux非常類似焦辅。你可以創(chuàng)建,刪除椿胯,移動筷登,重命名文件或者目錄。

image.png

namenode 和datanode

HDFS集群有兩類節(jié)點哩盲,并以管理者-工作者模式運行前方,即一個namenode(管理者)和多個datanode(工作者)。namenode管理文件系統(tǒng)的命名空間廉油,它維護著文件系統(tǒng)樹及整棵樹內(nèi)所有的文件和目錄惠险。這些信息以兩個文件形式永久保存在本地磁盤上:命名空間鏡像文件和編輯日志文件。namenode也記錄著每個文件中各個塊(block)所在的數(shù)據(jù)節(jié)點信息抒线,但它并不永久保存塊的位置信息班巩,因為這些信息會在系統(tǒng)啟動時有數(shù)據(jù)節(jié)點重建。
客戶端(client)代表用戶通過與namenode和datanode交互來訪問整個文件系統(tǒng)嘶炭,客戶端提供一個類似于POSIX(可移植操作系統(tǒng)界面)的文件系統(tǒng)接口抱慌,因此用戶在編程時無需知道namenode和datanode也可以實現(xiàn)功能。
datanode是文件系統(tǒng)的工作節(jié)點眨猎,他們根據(jù)需要存儲并檢索數(shù)據(jù)塊(受客戶端或namenode調(diào)度)抑进,并且定期向namenode發(fā)送他們所存儲的塊的列表。
所以沒有namenode睡陪,文件系統(tǒng)就會無法使用寺渗,如果運行namenode服務的機器毀壞,文件系統(tǒng)上所有的文件將會丟失兰迫,因為我們不知道如何根據(jù)datanode的塊來重建文件户秤,因此,對namenode實現(xiàn)容錯非常重要逮矛,Hadoop為此提供了各種機制。
第一種機制是備份那些組成文件系統(tǒng)元數(shù)據(jù)持久狀態(tài)的文件转砖。Hadoop可以通過配置使namenode在多個文件系統(tǒng)上保存元數(shù)據(jù)的持久狀態(tài)须鼎,這些寫操作是實時同步的,是原子操作府蔗,一般的配置使晋控,將持久狀態(tài)寫入本地磁盤的同時,寫入一個遠程掛在的網(wǎng)絡(luò)文件系統(tǒng)(NFS)姓赤。
另一個方法是運行一個輔助namenode赡译,但它不能被用作namenode,這個復制namenode的重要作用是定期通過編輯日志合并命名空間鏡像不铆,以防止編輯日志過大蝌焚,這個輔助namenode一般在另一臺單獨的物理計算機上運行裹唆,因為他需要占用大量CPU時間與namenode相同容量的內(nèi)存來執(zhí)行合并操作,他會保存合并后的命名空間鏡像的副本只洒,并在namenode發(fā)生故障時啟用许帐,但是,輔助namenode保存的狀態(tài)總是滯后于主節(jié)點毕谴,所以在主節(jié)點全部失效時成畦,難免會丟失部分數(shù)據(jù)。在這種情況下涝开,一般把存儲在NFS上的namenode元數(shù)據(jù)復制到輔助namenode并作為新的主namenode運行循帐。

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市舀武,隨后出現(xiàn)的幾起案子拄养,更是在濱河造成了極大的恐慌,老刑警劉巖奕剃,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衷旅,死亡現(xiàn)場離奇詭異,居然都是意外死亡纵朋,警方通過查閱死者的電腦和手機柿顶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來操软,“玉大人嘁锯,你說我怎么就攤上這事∧粜剑” “怎么了家乘?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長藏澳。 經(jīng)常有香客問我仁锯,道長,這世上最難降的妖魔是什么翔悠? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任业崖,我火速辦了婚禮,結(jié)果婚禮上蓄愁,老公的妹妹穿的比我還像新娘双炕。我一直安慰自己,他們只是感情好撮抓,可當我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布妇斤。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪站超。 梳的紋絲不亂的頭發(fā)上荸恕,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天,我揣著相機與錄音顷编,去河邊找鬼戚炫。 笑死,一個胖子當著我的面吹牛媳纬,可吹牛的內(nèi)容都是我干的双肤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼钮惠,長吁一口氣:“原來是場噩夢啊……” “哼茅糜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起素挽,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤蔑赘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后预明,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缩赛,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年撰糠,在試婚紗的時候發(fā)現(xiàn)自己被綠了酥馍。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡阅酪,死狀恐怖旨袒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情术辐,我是刑警寧澤砚尽,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站辉词,受9級特大地震影響必孤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瑞躺,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一敷搪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧隘蝎,春花似錦、人聲如沸襟企。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽顽悼。三九已至曼振,卻和暖如春几迄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背冰评。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工映胁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人甲雅。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓解孙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親抛人。 傳聞我的和親對象是個殘疾皇子弛姜,可洞房花燭夜當晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,929評論 2 89
  • Zookeeper用于集群主備切換。 YARN讓集群具備更好的擴展性妖枚。 Spark沒有存儲能力廷臼。 Spark的Ma...
    Yobhel閱讀 7,267評論 0 34
  • 幸運! 昨天460吃跌停晚上出了公告绝页,460是夠強荠商,高開賣了一半,四個點又賣了一半续誉。還算可以莱没,這樣就不怎么虧損了。...
    巴克萌萌噠閱讀 203評論 0 0
  • 又過一山屈芜, 山山水水都是情郊愧, 每個靜物都是多情, 每片湖波都是柔情似水井佑, ...
    一日光陰閱讀 194評論 0 0
  • 2017年8月12日 聚焦網(wǎng)初五原創(chuàng) 張婷 鄭州 分享第七十一天 星期六陣雨班脈 我不知道自己卡在那里了...
    心愿幸福閱讀 170評論 0 0