• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Hadoop的分布式文件系統(tǒng)

      2017-06-03 04:02:45陳忠義
      電子技術(shù)與軟件工程 2017年9期
      關(guān)鍵詞:分布式

      摘 要HDFS是Hadoop應(yīng)用用到的一個(gè)最主要的分布式存儲(chǔ)系統(tǒng),Hadoop分布式文件系統(tǒng)具有方便、健壯、可擴(kuò)展性、容錯(cuò)性能好、操作簡(jiǎn)單、成本低廉等許多優(yōu)勢(shì)。。深入了解HDFS的工作原理對(duì)在特定集群上改進(jìn)HDFS的運(yùn)行性能和錯(cuò)誤診斷都有極大的幫助。本文介紹了HDFS的主要設(shè)計(jì)理念、主要概念及其高可靠性的實(shí)現(xiàn)等。

      【關(guān)鍵詞】Hadoop 分布式 文件系統(tǒng)

      Hadoop是新一代的大數(shù)據(jù)處理平臺(tái),在近十年中已成為大數(shù)據(jù)革命的中心,它不僅僅承擔(dān)存儲(chǔ)海量數(shù)據(jù),還通過(guò)分析從中獲取有價(jià)值信息。進(jìn)行海量計(jì)算需要一個(gè)穩(wěn)定的,安全的數(shù)據(jù)容器,管理網(wǎng)絡(luò)中跨多臺(tái)計(jì)算機(jī)存儲(chǔ)的文件系統(tǒng)稱(chēng)為分布式文件系統(tǒng)。Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System)運(yùn)應(yīng)而生,它是Hadoop的底層實(shí)現(xiàn)部分,存儲(chǔ)Hadoop集群中所有存儲(chǔ)節(jié)點(diǎn)上的文件。

      1 HDFS的設(shè)計(jì)理念

      面對(duì)存儲(chǔ)超大文件,Hadoop分布式文件系統(tǒng)采用了流式數(shù)據(jù)訪問(wèn)模式。所謂流式數(shù)據(jù),簡(jiǎn)單的說(shuō)就是像流水一樣,數(shù)據(jù)一點(diǎn)一點(diǎn)“流”過(guò)來(lái),處理數(shù)據(jù)也是一點(diǎn)一點(diǎn)處理。如果是全部收到數(shù)據(jù)以后再進(jìn)行處理,那么延遲會(huì)很大,而且會(huì)消耗大量計(jì)算機(jī)內(nèi)存。

      1.1 存儲(chǔ)超大文件

      這里的“超大文件”通常達(dá)到幾百GB甚至達(dá)到TB大小的文件。像大型的應(yīng)用系統(tǒng),其存儲(chǔ)超過(guò)PB級(jí)數(shù)據(jù)的Hadoop集群比比皆是。

      1.2 數(shù)據(jù)訪問(wèn)模式

      最高效的訪問(wèn)模式是一次寫(xiě)入、多次讀取。HDFS的構(gòu)建思路也是這樣的。HDFS存儲(chǔ)的數(shù)據(jù)集作為Hadoop的分析對(duì)象。在數(shù)據(jù)集生成以后,采用各種不同分析方法對(duì)該數(shù)據(jù)集進(jìn)行長(zhǎng)時(shí)間分析,而且分析涉及到該數(shù)據(jù)集的大部分?jǐn)?shù)據(jù)或者全部數(shù)據(jù)。面對(duì)龐大數(shù)據(jù),時(shí)間延遲是不可避免的,因此,Hadoop不適合運(yùn)行低時(shí)間延遲數(shù)據(jù)訪問(wèn)的應(yīng)用。

      1.3 運(yùn)行在普通廉價(jià)的服務(wù)器上

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

      2 HDFS的主要概念

      2.1 數(shù)據(jù)塊(block)

      HDFS最基本的存儲(chǔ)單位是64M的數(shù)據(jù)塊,與普通文件系統(tǒng)相比,HDFS有這樣的優(yōu)點(diǎn):假如一個(gè)文件小于一個(gè)數(shù)據(jù)塊的大小,則不會(huì)占用整個(gè)數(shù)據(jù)塊存儲(chǔ)空間。抽象塊具有文件的所有塊不需要存儲(chǔ)在同一磁盤(pán)上的優(yōu)點(diǎn),使用抽象塊作為存儲(chǔ)單元,則大大簡(jiǎn)化了存儲(chǔ)子系統(tǒng)的設(shè)計(jì)。

      數(shù)據(jù)塊如設(shè)置過(guò)大,會(huì)導(dǎo)致集群利用率過(guò)低。如設(shè)置過(guò)小,要維護(hù)的元數(shù)據(jù)信息過(guò)多,由于元數(shù)據(jù)信息是存儲(chǔ)在內(nèi)存中的,所以可能會(huì)造成內(nèi)存溢出。

      2.2 HDFS數(shù)據(jù)節(jié)點(diǎn)

      2.2.1 元數(shù)據(jù)節(jié)點(diǎn)(Namenode)

      (1)其將所有的文件和文件夾的元數(shù)據(jù)保存在一個(gè)文件系統(tǒng)樹(shù)中。

      (2)元數(shù)據(jù)中存放著文件包括哪些數(shù)據(jù)塊以及這些數(shù)據(jù)分布到哪些DataNode數(shù)據(jù)節(jié)點(diǎn)上。

      · VERSION——保存著Hadoop分布式文件系統(tǒng)的版本號(hào)。

      · fsimage——元數(shù)據(jù)的鏡像文件,元數(shù)據(jù)保存在磁盤(pán)上的一個(gè)副本。

      · edits——修改日志文件,記錄引發(fā)元數(shù)據(jù)改變的操作。

      · fstime——合并fimage和edits的時(shí)間。

      2.2.2 數(shù)據(jù)節(jié)點(diǎn)(DataNode)

      (1)文件系統(tǒng)數(shù)據(jù)真正存儲(chǔ)在數(shù)據(jù)節(jié)點(diǎn)。

      (2)將存儲(chǔ)的數(shù)據(jù)塊信息周期性的向元數(shù)據(jù)信息(namenode)回報(bào)。

      (3)數(shù)據(jù)節(jié)點(diǎn)為客戶(hù)端(client)或者元數(shù)據(jù)信息(namenode)提供寫(xiě)入或者讀出數(shù)據(jù)塊的請(qǐng)求。

      2.2.3 從元數(shù)據(jù)節(jié)點(diǎn)(secondary namenode)

      (1)元數(shù)據(jù)節(jié)點(diǎn)和從元數(shù)據(jù)節(jié)點(diǎn)分工不同,它們負(fù)責(zé)的事情并不相同,從元數(shù)據(jù)節(jié)點(diǎn)并不是元數(shù)據(jù)節(jié)點(diǎn)的備用節(jié)點(diǎn)。

      (2)從元數(shù)據(jù)節(jié)點(diǎn)主要功能以防edits修改日志文件過(guò)大,周期性將元數(shù)據(jù)節(jié)點(diǎn)的fsimage和edits合并。

      (3)simage和edits合并過(guò)后的命名空間鏡像文件從元數(shù)據(jù)節(jié)點(diǎn)也保存了一份,以防元數(shù)據(jù)節(jié)點(diǎn)失敗的時(shí)候,可以恢復(fù),確保數(shù)據(jù)的安全性。

      3 HDFS高可靠性的實(shí)現(xiàn)

      3.1 安全模式

      所謂安全模式就是Hadoop分布式文件系統(tǒng)剛剛啟動(dòng)時(shí),名字節(jié)點(diǎn)進(jìn)入一個(gè)特殊的狀態(tài)。當(dāng)處于安全模式時(shí),名字節(jié)點(diǎn)不能做任何文件操作,甚至不允許內(nèi)部的副本創(chuàng)建。名字節(jié)點(diǎn)需要收集各個(gè)數(shù)據(jù)節(jié)點(diǎn)的報(bào)告, 當(dāng)數(shù)據(jù)塊達(dá)到最小副本數(shù)以上時(shí),會(huì)被認(rèn)為是“安全”的。當(dāng)認(rèn)為安全的數(shù)據(jù)塊所占的比例達(dá)到了某個(gè)閾值(可配置),在過(guò)若干時(shí)間,安全模式結(jié)束,當(dāng)檢測(cè)到副本數(shù)不足的數(shù)據(jù)塊是,該塊會(huì)被復(fù)制,直到達(dá)到最小副本數(shù)。

      3.2 數(shù)據(jù)一致性

      在HDFS中,每一個(gè)數(shù)據(jù)塊,都有一個(gè)版本標(biāo)識(shí),假如數(shù)據(jù)發(fā)生變化,則版本標(biāo)識(shí)將會(huì)相應(yīng)變化,在元數(shù)據(jù)信息(namenode)里,保存著各個(gè)數(shù)據(jù)塊的版本,如果出現(xiàn)與數(shù)據(jù)服務(wù)器上版本不一致,則會(huì)啟動(dòng)恢復(fù)流程。由于各個(gè)網(wǎng)絡(luò)情況非常復(fù)雜,僅僅靠簡(jiǎn)單的版本信息不能保證內(nèi)容一致。依照內(nèi)容,采取簽名的方法有效解決了數(shù)據(jù)內(nèi)容一致性問(wèn)題。

      當(dāng)客戶(hù)端向數(shù)據(jù)服務(wù)器追加寫(xiě)人數(shù)據(jù)包時(shí),HDFS 會(huì)對(duì)寫(xiě)入的所有數(shù)據(jù)進(jìn)行校驗(yàn)和(checksum) 計(jì)算,并在讀取數(shù)據(jù)時(shí)驗(yàn)證該數(shù)據(jù)的校驗(yàn)和。各個(gè)數(shù)據(jù)包簽名驗(yàn)證的基本單位為512字節(jié)。一個(gè)由多個(gè)數(shù)據(jù)節(jié)點(diǎn)組成的隊(duì)列會(huì)同時(shí)接收客戶(hù)端發(fā)送數(shù)據(jù)和校驗(yàn)和,最后一個(gè)數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)驗(yàn)證校驗(yàn)和。假如發(fā)現(xiàn)當(dāng)前的傳輸塊簽名與在客戶(hù)端中的簽名不一致時(shí),整個(gè)數(shù)據(jù)包的寫(xiě)入則為無(wú)效。

      3.3 心跳包(HeartBeats)機(jī)制

      所謂心跳包就是通過(guò)周期性的活動(dòng)來(lái)檢查數(shù)據(jù)節(jié)點(diǎn)的活性,就像跳動(dòng)的心臟一樣。HDFS采用了心跳包(Heart beat)機(jī)制保證名字節(jié)點(diǎn)和各個(gè)數(shù)據(jù)節(jié)點(diǎn)的聯(lián)系。名字節(jié)點(diǎn)周期性向管理的各個(gè)數(shù)據(jù)節(jié)點(diǎn)發(fā)送心跳包,而收到心跳包的數(shù)據(jù)節(jié)點(diǎn)則有效回復(fù)。通過(guò)定時(shí)發(fā)送心跳包,名字節(jié)點(diǎn)把要執(zhí)行的命令通過(guò)心跳包發(fā)送給數(shù)據(jù)節(jié)點(diǎn),而數(shù)據(jù)節(jié)點(diǎn)收到心跳包,及時(shí)回復(fù)名字節(jié)點(diǎn),同時(shí)開(kāi)始與用戶(hù)或者應(yīng)用的數(shù)據(jù)傳輸。

      3.4 租約機(jī)制

      在Linux中,為了防止出現(xiàn)多個(gè)進(jìn)程向同一個(gè)文件寫(xiě)數(shù)據(jù)的情況,采用了文件加鎖的機(jī)制。在HDFS中需要一種機(jī)制來(lái)防止同一個(gè)文件被多個(gè)人寫(xiě)入數(shù)據(jù),這就是租約。名字節(jié)點(diǎn)在打開(kāi)或創(chuàng)建一個(gè)文件,準(zhǔn)備追加寫(xiě)之前,會(huì)與此客戶(hù)端簽訂一份租約。名字節(jié)點(diǎn)保證同一個(gè)文件只發(fā)放一個(gè)租約,就有效防止出現(xiàn)多人寫(xiě)入的情況。假如文件被刪除了,客戶(hù)端宕機(jī)了,當(dāng)超過(guò)租約期限時(shí),名字節(jié)點(diǎn)就會(huì)剝奪此租約,將這個(gè)文件的享用權(quán),分配給他人。如此,來(lái)避免由于客戶(hù)端停機(jī)帶來(lái)的資源被長(zhǎng)期霸占的問(wèn)題。

      3.5 回滾機(jī)制

      HDFS安裝或者升級(jí)時(shí),會(huì)將當(dāng)前的版本信息保存起來(lái),一旦系統(tǒng)升級(jí)導(dǎo)致BUG或者不兼容,這一問(wèn)題可以通過(guò)回滾回到舊版本解決。如果升級(jí)之后一段時(shí)間內(nèi)運(yùn)行正常,則保存版本信息。若運(yùn)行不正常,則根據(jù)舊版本信息,恢復(fù)至之前的版本。

      參考文獻(xiàn)

      [1]陸嘉恒.Hadoop實(shí)戰(zhàn)[M].機(jī)械工業(yè)出版社,2014.

      [2]Tom White.Hadoop權(quán)威指南[M].清華大學(xué)出版社,2015.

      作者簡(jiǎn)介

      陳忠義(1976-),男,浙江省溫州市人。碩士研究生。工程師。主要研究方向?yàn)橛?jì)算機(jī)應(yīng)用技術(shù)等。

      作者單位

      浙江省溫州市公安局 浙江省溫州市 325000

      猜你喜歡
      分布式
      分布式光伏發(fā)展的四大矛盾
      能源(2017年7期)2018-01-19 05:05:03
      分布式光伏熱錢(qián)洶涌
      能源(2017年10期)2017-12-20 05:54:07
      基于預(yù)處理MUSIC算法的分布式陣列DOA估計(jì)
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      西門(mén)子 分布式I/O Simatic ET 200AL
      家庭分布式儲(chǔ)能的發(fā)展前景
      阜新市| 定襄县| 班戈县| 南投县| 昌邑市| 新乡市| 山阳县| 阿鲁科尔沁旗| 剑川县| 石楼县| 逊克县| 景德镇市| 广南县| 宣武区| 屯留县| 准格尔旗| 金山区| 辽宁省| 和平区| 元氏县| 新和县| 临泽县| 云阳县| 甘谷县| 云南省| 南澳县| 仁寿县| 宜昌市| 肇庆市| 新津县| 南平市| 延庆县| 建阳市| 盐边县| 洛阳市| 九江县| 云林县| 山东省| 黄龙县| 葵青区| 新昌县|