国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Hadoop分布式文件系統--HDFS的誕生

云計算 分布式 Hadoop
:這篇文章介紹了HDFS的一些關鍵設計理念,已經屬于非常簡化的情況了,沒有考慮數據的完整性,節點失效等更多細節。

1.牛刀小試

張大胖找了個實習的工作, ***天上班Bill師傅給他分了個活兒:日志分析。

張大胖拿到了師傅給的日志文件,大概有幾十兆,打開一看, 每一行都長得差不多,類似這樣:

212.86.142.33 – - [20/Mar/2017:10:21:41 +0800] “GET / HTTP/1.1″ 200 986 “http://www.baidu.com/” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; )"

張大胖知道,這些日志都是Web服務器產生的,里邊包含了像客戶端IP, 訪問時間, 請求的URL,請求處理的狀態, referer, User Agent等信息。

師傅說,你想個辦法統計一天之內每個頁面的訪問量(PV),獨立的IP數, 還有用戶最喜歡搜索的前10個關鍵字。

張大胖心說這簡單啊,我用Linux上的cat,awk等小工具就能做出來, 不過還是正式一點,用我最喜歡的Python寫個程序吧,把每一行文本分割成一個個字段,然后分分組、計算一下不就得了。

慢著, 這樣一來這個程序就只能干這些事兒,不太靈活,擴展性不太好。

要不把分割好的字段寫入數據庫表?  

比如access_log(id,ip,timestamp,url, status,referer, user_agent), 這樣就能利用數據庫的group 功能和count功能了,sql多強大啊, 想怎么處理就怎么處理。

對,就這么辦!

半天以后,張大胖就把這個程序給搞定了,還畫了一個架構圖,展示給了師傅。

師傅一看:“不錯嘛,思路很清晰,還考慮到了擴展性,可以應對以后更多的需求。”

于是這個小工具就這么用了起來。

張大胖畢業以后也順利地加入了這家公司。

2.分布式

互聯網尤其是移動互聯網發展得極快,公司網站的用戶量暴增,訪問量也水漲船高,日志量也很感人,每小時都能產生好幾個G,張大胖實習期間“引以為傲”的小程序沒法再用了,數據庫根本就放不下啊。

不僅數據庫放不下,在Web服務器上也放不下了,更不用說去做分析了。

張大胖主動請纓,打算搞定這個問題。 當然他也很聰明地把經驗豐富的師傅Bill給拉上了。

兩個人來到會議室,開始了討論。

張大胖先算了一筆賬:如果是一臺機器,一個硬盤,讀取速度是75M/s  ,那需要花費10多天才能讀取100T的內容。 但是如果是有100個硬盤, 并行的讀取速度就能達到75G/s  , 幾十分鐘就可以把100T的數據給讀出來了,多快啊。

他對Bill說道:“看來只有分布式存儲才能拯救了。多來幾臺機器吧,把log1, log2,log3...這些文件存放在不同的機器上。”

師傅Bill說道:“你想得太簡單了,分布式可不是簡單地添加機器, 機器的硬盤壞了怎么辦?日志文件是不是就丟失了? 熱門文件怎么辦? 訪問量特別大,那對應的機器負載就特別高, 這樣不公平啊!

張大胖說道:“***個問題好辦,我可以做備份啊,把每個文件都存三個備份。這樣壞的可能性就大大降低了。你說的第二個問題,我們的日志哪有什么熱門文件?”

“要考慮下通用性嘛!將來你這個分布式的文件系統可以處理別的東西啊。”

“好吧, 我可以被文件切成小塊,讓他們分散在各個機器上,這就行了吧。 備份的時候,把每個小塊都備份三份就解決問題了。”

(備注:三份是***要求)

“那問題就來了,我們該怎么使用呢? 客戶端總不能說把文件的***塊從服務器1上取出來,第二塊從服務器4上取出來,第三塊從服務器2上取出來.....   再說客戶端保留這些‘亂七八糟’的信息該多煩人啊。”  Bill提出的問題很致命。

“這個......” 張大胖思考了半天, “看來還得做抽象啊,我的分布式文件系統得提供一個抽象層,讓文件分塊對客戶端保持透明, 客戶端根本不必知道文件是怎么分塊的,分塊后存放在什么服務器上。他們只需要知道一個文件的路徑/logs/log1,就可以讀寫了,細節不用操心。”

“不錯,看來你已經Get到了,一定要通過抽象給客戶端提供一個簡單的視圖,盡可能讓他們像訪問本地文件一樣來使用!” Bill 立刻做了升華。

“不過,”張大胖突然想到一個問題,“這樣的分布式文件系統似乎只適合在文件末尾不斷地對追加內容,如果是想隨機地讀寫,比如定位到某個位置,然后寫入新的數據,就很麻煩了。”

“這也沒辦法,事物總是有利有弊,現在的系統就是適合一次寫入,多次讀取的場景。”

3.元數據

“不過, ”Bill 接著說,“文件被分成了哪些塊,這些塊都放在什么服務器上,系統有哪些服務器,服務器上都多大空間,這些都是Metadata, 你得專門找個服務器存儲起來,我們把這個服務器叫做Metadata節點如何?或者簡單一點,叫做NameNode吧!類似于整個系統的大管家。 ”

“好, 我們把那些儲存數據的服務器叫做Data節點(DataNode)吧,這樣就區分開了。我可以寫一個客戶端讓大家使用,這個客戶端通過查詢NameNode,定位到文件的分塊和存儲位置,這樣大家就可以讀寫了!”

Bill在白板上畫了一張圖,展示了當前的設計:

“綠色虛線的意思是數據的讀寫流, 對吧, 但是橙色的虛線是什么鬼?” 張大胖問道。

“你想想這么一種情況,如果某個Datanode 的機器掛掉了,它上面的所有文件分塊都無法讀寫了,這時候Namenode如何才能知道呢? 還有,如果某個Datanode所在機器的磁盤空間不足了,是不是也得讓Namenode這個大管家知道?”

“奧,Datanode和Namenode 之間需要定期的通信, 這就麻煩了,我還得特別為他們設計一個通信協議啊!” 張大胖有點沮喪。

“分布式系統就是這樣,有很多挑戰,機器壞掉,網絡斷掉..... 你想在普通的、廉價的機器上實現高可靠性是很難的一件事情。”

4.讀取文件

“我們再細化下讀寫的流程吧?” Bill 提議。

“我覺得挺簡單啊,比如去讀取一個文件,客戶端只需把文件名告訴Namenode, 讓Namenode把所有數據都返回不就行了?這樣客戶端對Datanode保持透明,不錯吧!”

Bill嚴肅地搖了搖頭:“不行, 如果所有的數據流都經過Namenode, 它會成為瓶頸的! 無法支持多個客戶端的并發訪問, 記住,我們要處理的可是TB, 乃至PB級別的數據啊。”

“對對,我沒有深入考慮啊!” 張大胖感慨姜還是老的辣,趕緊換個思路, “要不這樣,讀取文件的時候,Namenode只返回文件的分塊以及該分塊所在的Datanode列表, 這樣我們的客戶端就可以選擇一個Datanode來讀取文件了。”

“但是一個分塊有3個備份,到底選哪個? ” Bill問道

“肯定是最近的那個了,嗯,怎么定義遠近呢?”  張大胖犯難了。

“我們可以定義一個‘距離’的概念。 ” Bill 說道。

客戶端和Datanode是同一個機器  : 距離為0  ,表示最近

客戶端和Datanode是同一個機架的不同機器  : 距離為2 ,稍微遠一點

客戶端和Datanode位于同一個數據中心的不同機架上 : 距離為4, 更遠一點

“沒想到分布式系統這么難搞,比我實習做的那個程序難度提高了好幾個數量級!”

話雖這么說,張大胖還是畫了一個讀取文件的流程圖:

(注:圖中只畫出了一個分塊的讀取,對文件其他分塊的讀取還會持續進行)

5.寫入文件

“寫入文件也類似,” 張大胖打算趁熱打鐵,“讓Namenode 找到可以寫數據的三個Datanode,返回給我們的客戶端,客戶端就可以向這三個Datanode 發起寫的操作了!”

“假設你有個10G的文件,難道讓客戶端向Datanode寫入3次,使用30G的流量嗎?”  Bill馬上提了一個關鍵的問題。

“不這么做還能怎么辦? 我們要保存多個備份啊!”

“有個解決辦法,我們可以把三個Datanode 組成一個Pipline(管道), 我們只把數據發給***個Datanode, 讓數據在這個管道內‘流動’起來, ***個Datanode發個備份給第二個, 第二個發同樣的備份給第三個。”

(注:實際的文件寫入比較復雜,有更多細節, 這里只是重點展示pipeline)

“有點意思,客戶端只發出一次寫的請求,數據的復制由我們的Datanode合作搞定。” 張大胖深為佩服,師傅Bill的腦子就是好使啊。

“還有啊,”Bill說道,“咱們的設計中Namenode這個大管家有單點失敗的風險,我們***還是做一個備份的節點。”

張大胖深表贊同。

6.結束?開始?

“我們給這個系統起個名字吧?叫Distrubted File System(簡稱DFS)怎么樣?” 張大胖說。

“俗,太俗,叫Hadoop吧,這是我兒子玩具象的名稱。嗯,還是叫Hadoop Distributed File System, HDFS。”   Bill 的提議出乎張大胖意料。

“行吧,我們有了HDFS,可以存儲海量的日志了,我就可以寫個程序,去讀取這些文件,統計各種各樣的用戶訪問了。”

“你打算把你的程序放到哪里?”

“自然是放在HDFS之外的某個機器上,然后通過HDFS 客戶端去訪問數據啊!”

“100T的數據從HDFS的眾多機器中讀取出來,在一臺機器上處理? 這得多慢啊! 我們要考慮把計算也做成分布式的,并且讓計算程序盡可能地靠近數據,這樣就快了!”

“分布式計算?”

“沒錯,聽說過Mapreduce 沒有?”

張大胖搖了搖頭:“這是什么鬼?”

“我們下次再聊吧!”

后記:這篇文章介紹了HDFS的一些關鍵設計理念,已經屬于非常簡化的情況了,沒有考慮數據的完整性,節點失效等更多細節。

【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2013-01-07 10:29:31

大數據

2013-06-18 14:00:59

HDFS分布式文件系統

2012-08-31 16:04:11

HDFS分布式文件系統

2018-08-14 10:44:58

HadoopHDFS命令

2010-06-04 18:45:43

Hadoop分布式文件

2013-01-09 10:16:09

HDFS

2011-07-15 17:48:27

Platform

2013-01-07 10:42:43

HDFS

2013-06-18 16:58:12

HDFS分布式文件系統

2021-04-13 08:06:17

分布式HDFS存儲大型數據

2010-11-01 05:50:46

分布式文件系統

2018-07-06 09:16:22

HadoopRAID文件系統

2013-06-18 14:33:13

HDFS分布式文件系統

2010-06-07 14:02:13

Hadoop的分布式文

2013-06-18 14:13:43

HDFS分布式文件系統

2013-05-27 14:46:06

文件系統分布式文件系統

2017-10-17 08:33:31

存儲系統分布式

2012-05-10 15:23:53

分布式文件系統測試

2010-11-15 13:24:07

分布式文件系統

2012-09-19 13:43:13

OpenAFS分布式文件系統
點贊
收藏

51CTO技術棧公眾號

中文字幕中文字幕在线中心一区| 国产在线视频你懂得| 国产一区二区在线| 日韩精品视频免费| 男人天堂亚洲二区| 亚洲少妇30p| 白嫩少妇丰满一区二区| 国产精品一级在线| 色婷婷精品国产一区二区三区| 欧美人成在线| 国产精品三级美女白浆呻吟| 精品精品国产三级a∨在线| 久久天天躁狠狠躁夜夜爽蜜月| 成人影院大全| 亚洲精品短视频| 黑人玩欧美人三根一起进| 欧美理论片在线| 国产福利在线视频| 欧美日精品一区视频| 污网站视频在线观看| 午夜影视日本亚洲欧洲精品| 亚洲电影欧美电影有声小说| 一区二区三区欧美亚洲| 日韩日韩日韩日韩| 亚洲综合色成人| 粉嫩喷白浆久久| 欧美色视频日本高清在线观看| 草莓污污视频在线观看| 亚洲成人你懂的| 在线看片你懂得| 欧美日韩国产精品一区| 中文字幕在线影院| 色综合天天综合| 91高清在线视频| 91精品综合久久久久久| 91高清视频在线观看| 精品无人国产偷自产在线| 热色播在线视频| 久久香蕉国产线看观看av| 北条麻妃一区二区三区在线观看| 97免费在线视频| 色综合久久网| 久久国产精品精品国产色婷婷| 亚洲一区网站| 国产欧美123| 国产精品成人免费在线| 你懂的视频在线| 亚洲大胆人体在线| 精品国产亚洲日本| 国产精品亚洲欧美导航| 日韩午夜免费视频| www.欧美黄色| 亚洲午夜一区二区三区| 人妖欧美1区| 久99久在线视频| 天天综合国产| 视频一区视频二区视频| 久久综合色一综合色88| 在线播放你懂得| 精品视频www| 亚洲欧美校园春色| 国产精品一区二区三区四区五区 | 亚洲爱爱爱爱爱| 久久久国产精品网站| 欧美专区在线视频| 亚洲一区二区三区四区五区午夜| 亚洲爆乳无码精品aaa片蜜桃| 1区2区3区国产精品| 中国av在线播放| 欧美精品videos性欧美| 国产亚洲毛片| av免费播放| 亚洲国产精品系列| 一区三区在线欧| 亚洲开发第一视频在线播放| 欧美极品xxx| 深夜国产在线播放| 午夜精品一区二区三区视频免费看| 在线免费高清一区二区三区| 国产精品97在线| 精品少妇一区二区三区免费观看 | 国产在线一区二区三区播放| 日日摸夜夜添夜夜添精品视频| 久久精品国产99国产精品| 成人黄色av电影| 麻豆传媒在线播放| 亚洲精品成人久久久| 欧洲亚洲视频| 午夜一区二区三区| 亚洲国产一区视频| 三级成人黄色影院| 成人精品一区二区三区电影免费| 精品一区二区三区日韩| 国产主播福利| 夜夜嗨av色一区二区不卡| 女同性一区二区三区人了人一| 欧美韩国日本在线| 日韩午夜激情视频| 日韩精品第一区| 99视频精品免费| 日韩精品视频免费专区在线播放 | 精品91久久| 动漫美女被爆操久久久| 国产精品乱码妇女bbbb| 91精品论坛| 精品一区日韩成人| 五月婷婷综合在线| 国产精品高潮呻吟久久久久| 久久久久久久香蕉| 欧美美女网站色| 91精品天堂福利在线观看| 国产女呦网站| 国外成人在线播放| 久久精品亚洲乱码伦伦中文| 日本精品网站| 国产人妻互换一区二区| 日韩欧美的一区| 亚洲大胆av| 精品美女视频在线观看免费软件| 日韩av免费在线看| 中国色在线观看另类| 欧美高清xxx| 五十路熟女丰满大屁股| 日韩高清欧美高清| 亚洲欧美久久| 黄色av网站在线播放| 999在线观看免费大全电视剧| 亚洲国产欧美一区二区三区丁香婷| 日韩精品a在线观看91| 污色网站在线观看| 欧美黄色三级网站| 国产精品女上位| 亚洲人成网亚洲欧洲无码| 九色在线91| 国产精品99导航| 亚洲一区二区三区视频在线| 欧美最新另类人妖| 在线小视频网址| 97影院在线午夜| 欧美日韩夫妻久久| 久久精品午夜| 偷拍自拍在线看| 亚洲美免无码中文字幕在线| 另类天堂视频在线观看| 中文欧美字幕免费| 精品日韩一区| 国产香蕉视频在线看| 久久久久欧美| 亚洲黄页网在线观看| 粉嫩av一区二区三区| 91视频成人| 欧美黑人又粗又大又爽免费| 97在线看福利| 色综合久久99| 日日夜夜免费精品| 国产精品99| 米奇.777.com| 好吊色欧美一区二区三区四区 | 丝袜亚洲另类欧美| 国产自产自拍视频在线观看| 成人午夜视频在线观看免费| 久久久久久久一| 欧美日韩性视频在线| 天堂影院一区二区| 日韩精品久久久久久久软件91| 91亚洲午夜精品久久久久久| 蜜芽在线免费观看| avove在线观看| 久久影院资源网| 亚洲精品成a人| 欧美va天堂在线| 日本h片在线| 熟妇人妻无乱码中文字幕真矢织江| 国产成人福利视频| 4438x成人网最大色成网站| 国产在线精品免费av| 黄色美女久久久| 爽爽爽爽爽爽爽成人免费观看| 久久66热re国产| 999国产精品一区| 每日更新在线观看av| 伊人av成人| 国产69精品久久久久99| 91黄色免费网站| 成人永久aaa| 久久精品国产68国产精品亚洲| 日日夜夜天天综合入口| 黑鬼大战白妞高潮喷白浆| 成人免费xxxxx在线观看| 国产丝袜高跟一区| 亚洲一区二区不卡免费| 日韩av网站免费在线| 盗摄系列偷拍视频精品tp| 久久手机免费观看| 97超碰国产精品| 亚洲xxxxx| 欧美成人在线免费视频| 欧美女孩性生活视频| 久久精品人人做| 91久久综合|