HDFS中副本放置策略是什么

這篇文章主要介紹HDFS中副本放置策略是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司是一家企業(yè)級(jí)云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營(yíng)經(jīng)驗(yàn)。主營(yíng)GPU顯卡服務(wù)器,站群服務(wù)器,服務(wù)器托管雅安,海外高防服務(wù)器,服務(wù)器機(jī)柜,動(dòng)態(tài)撥號(hào)VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。

云計(jì)算
     云計(jì)算(cloud computing)是基于互聯(lián)網(wǎng)的相關(guān)服務(wù)的增加、使用和交付模式,通常涉及通過(guò)互聯(lián)網(wǎng)來(lái)提供動(dòng)態(tài)易擴(kuò)展且經(jīng)常是虛擬化的資源。云是網(wǎng)絡(luò)、互聯(lián)網(wǎng)的一種比喻說(shuō)法。過(guò)去在圖中往往用云來(lái)表示電信網(wǎng),后來(lái)也用來(lái)表示互聯(lián)網(wǎng)和底層基礎(chǔ)設(shè)施的抽象。因此,云計(jì)算甚至可以讓你體驗(yàn)每秒 10 萬(wàn)億次的運(yùn)算能力,擁有這么強(qiáng)大的計(jì)算能力可以模擬核爆炸、預(yù)測(cè)氣候變化和市場(chǎng)發(fā)展趨勢(shì)。用戶通過(guò)電腦、筆記本、手機(jī)等方式接入數(shù)據(jù)中心,按自己的需求進(jìn)行運(yùn)算。按照美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)定義:云計(jì)算是一種按使用量付費(fèi)的模式,這種模式提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問(wèn),進(jìn)入可配置的計(jì)算資源共享池(資源包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用軟件、服務(wù)),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務(wù)供應(yīng)商進(jìn)行很少的交互。
    云計(jì)算是分布式計(jì)算(Distributed Computing)、并行計(jì)算(Parallel Computing)、效用計(jì)算(Utility Computing)、網(wǎng)絡(luò)存儲(chǔ)(Network Storage Technologies)、虛擬化(Virtualization)、負(fù)載均衡(Load Balance)、熱備份冗余(High Available)等傳統(tǒng)計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。
     云計(jì)算可以認(rèn)為包括以下幾個(gè)層次的服務(wù):基礎(chǔ)設(shè)施即服務(wù)(IaaS),平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。

云存儲(chǔ)
    云存儲(chǔ)是在云計(jì)算概念上延伸和發(fā)展出來(lái)的一個(gè)新的概念,是指通過(guò)集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲(chǔ)設(shè)備通過(guò)應(yīng)用軟件集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能的一個(gè)系統(tǒng)。當(dāng)云計(jì)算系統(tǒng)運(yùn)算和處理的核心是大量數(shù)據(jù)的存儲(chǔ)和管理時(shí),云計(jì)算系統(tǒng)中就需要配置大量的存儲(chǔ)設(shè)備,那么云計(jì)算系統(tǒng)就轉(zhuǎn)變成為一個(gè)云存儲(chǔ)系統(tǒng),所以云存儲(chǔ)是一個(gè)以數(shù)據(jù)存儲(chǔ)和管理為核心的云計(jì)算系統(tǒng)。簡(jiǎn)單來(lái)說(shuō),云存儲(chǔ)就是將儲(chǔ)存資源放到云上供人存取的一種新興方案。使用者可以在任何時(shí)間、任何地方,通過(guò)任何可連網(wǎng)的裝置連接到云上方便地存取數(shù)據(jù)。
    云存儲(chǔ)系統(tǒng)的結(jié)構(gòu)模型由 4 層組成。
存儲(chǔ)層
    存儲(chǔ)層是云存儲(chǔ)最基礎(chǔ)的部分。存儲(chǔ)設(shè)備可以是 FC 光纖通道存儲(chǔ)設(shè)備,可以是 NAS 和 iSCSI 等 IP 存儲(chǔ)設(shè)備,也可以是 SCSI 或 SAS 等 DAS 存儲(chǔ)設(shè)備。云存儲(chǔ)中的存儲(chǔ)設(shè)備往往數(shù)量龐大且分布在多種不同地域,彼此之間通過(guò)廣域網(wǎng)、互聯(lián)網(wǎng)或者 FC 光纖通道網(wǎng)絡(luò)連接在一起。
     存儲(chǔ)設(shè)備之上是一個(gè)統(tǒng)一存儲(chǔ)設(shè)備管理系統(tǒng),可以實(shí)現(xiàn)存儲(chǔ)設(shè)備的邏輯虛擬化管理、多鏈路冗余管理,以及硬件設(shè)備的狀態(tài)監(jiān)控和故障維護(hù)。
基礎(chǔ)管理
     基礎(chǔ)管理層是云存儲(chǔ)最核心的部分,也是云存儲(chǔ)中最難以實(shí)現(xiàn)的部分?;A(chǔ)管理層通過(guò)集群、分布式文件系統(tǒng)和網(wǎng)格計(jì)算等技術(shù),實(shí)現(xiàn)云存儲(chǔ)中多個(gè)存儲(chǔ)設(shè)備之間的協(xié)同工作,使多個(gè)的存儲(chǔ)設(shè)備可以對(duì)外提供同一種服務(wù),并提供更大更強(qiáng)更好的數(shù)據(jù)訪問(wèn)性能。
應(yīng)用接口
    應(yīng)用接口層是云存儲(chǔ)最靈活多變的部分。不同的云存儲(chǔ)運(yùn)營(yíng)單位可以根據(jù)實(shí)際業(yè)務(wù)類型,開(kāi)發(fā)不同的應(yīng)用服務(wù)接口,提供不同的應(yīng)用服務(wù)。比如視頻監(jiān)控應(yīng)用平臺(tái)、IPTV 和視頻點(diǎn)播應(yīng)用平臺(tái)、網(wǎng)絡(luò)硬盤(pán)引用平臺(tái),遠(yuǎn)程數(shù)據(jù)備份應(yīng)用平臺(tái)等。
訪問(wèn)層
    任何一個(gè)授權(quán)用戶都可以通過(guò)標(biāo)準(zhǔn)的公用應(yīng)用接口來(lái)登錄云存儲(chǔ)系統(tǒng),享受云存儲(chǔ)服務(wù)。云存儲(chǔ)運(yùn)營(yíng)單位不同,云存儲(chǔ)提供的訪問(wèn)類型和訪問(wèn)手段也不同。

HDFS
    Hadoop 分布式文件系統(tǒng) (HDFS) 被設(shè)計(jì)成適合運(yùn)行在通用硬件 (commodity hardware) 上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點(diǎn)。但同時(shí),它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的。HDFS 是一個(gè)高度容錯(cuò)性的系統(tǒng),適合部署在廉價(jià)的機(jī)器上。HDFS 能提供高吞吐量的數(shù)據(jù)訪問(wèn),非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。HDFS 放寬了一部分可移植操作系統(tǒng)接口 (POSIX) 約束,來(lái)實(shí)現(xiàn)流式讀取文件系統(tǒng)數(shù)據(jù)的目的。HDFS 在最開(kāi)始是作為 Apache Nutch 搜索引擎項(xiàng)目的基礎(chǔ)架構(gòu)而開(kāi)發(fā)的。HDFS 是 Apache Hadoop Core 項(xiàng)目的一部分。
    以下是本文對(duì) HDFS 及其副本放置策略的具體介紹說(shuō)明。
副本技術(shù)
    副本技術(shù)即分布式數(shù)據(jù)復(fù)制技術(shù),是分布式計(jì)算的一個(gè)重要組成部分。該技術(shù)允許數(shù)據(jù)在多個(gè)服務(wù)器端共享,一個(gè)本地服務(wù)器可以存取不同物理地點(diǎn)的遠(yuǎn)程服務(wù)器上的數(shù)據(jù),也可以使所有的服務(wù)器均持有數(shù)據(jù)的拷貝。
    通過(guò)副本技術(shù)可以有以下優(yōu)點(diǎn):
    (1) 提高系統(tǒng)可靠性:系統(tǒng)不可避免的會(huì)產(chǎn)生故障和錯(cuò)誤,擁有多個(gè)副本的文件系統(tǒng)不會(huì)導(dǎo)致無(wú)法訪問(wèn)的情況,從而提高了系統(tǒng)的可用性。另外,系統(tǒng)可以通過(guò)其他完好的副本對(duì)發(fā)生錯(cuò)誤的副本進(jìn)行修復(fù),從而提高了系統(tǒng)的容錯(cuò)性。
    (2) 負(fù)載均衡:副本可以對(duì)系統(tǒng)的負(fù)載量進(jìn)行擴(kuò)展。多個(gè)副本存放在不同的服務(wù)器上,可有效的分擔(dān)工作量,從而將較大的工作量有效的分布在不同的站點(diǎn)上。
    (3) 提高訪問(wèn)效率:將副本創(chuàng)建在訪問(wèn)頻度較大的區(qū)域,即副本在訪問(wèn)節(jié)點(diǎn)的附近,相應(yīng)減小了其通信開(kāi)銷(xiāo),從而提高了整體的訪問(wèn)效率。
HDFS 架構(gòu)
                                                                        圖1.HDFS 架構(gòu)圖

HDFS中副本放置策略是什么

    HDFS 是一個(gè)主從結(jié)構(gòu),一個(gè) HDFS 集群有一個(gè)名字節(jié)點(diǎn),它是一個(gè)管理文件命名空間和調(diào)節(jié)客戶端訪問(wèn)文件的主服務(wù)器,當(dāng)然還有一些數(shù)據(jù)節(jié)點(diǎn),通常是一個(gè)節(jié)點(diǎn)一個(gè)機(jī)器,它來(lái)管理對(duì)應(yīng)節(jié)點(diǎn)的存儲(chǔ)。HDFS 對(duì)外開(kāi)放文件命名空間并允許用戶數(shù)據(jù)以文件形式存儲(chǔ)。
    內(nèi)部機(jī)制是將一個(gè)文件分割成一個(gè)或多個(gè)塊,這些塊被存儲(chǔ)在一組數(shù)據(jù)節(jié)點(diǎn)中。名字節(jié)點(diǎn)用來(lái)操作文件命名空間的文件或目錄操作,如打開(kāi)、關(guān)閉、重命名等等。它同時(shí)確定塊與數(shù)據(jù)節(jié)點(diǎn)的映射。數(shù)據(jù)節(jié)點(diǎn)來(lái)負(fù)責(zé)來(lái)自文件系統(tǒng)客戶的讀寫(xiě)請(qǐng)求。數(shù)據(jù)節(jié)點(diǎn)同時(shí)還要執(zhí)行塊的創(chuàng)建、刪除、和來(lái)自名字節(jié)點(diǎn)的塊復(fù)制指令。
集群中只有一個(gè)名字節(jié)點(diǎn)極大地簡(jiǎn)單化了系統(tǒng)的體系結(jié)構(gòu)。名字節(jié)點(diǎn)是仲裁者和所有 HDFS 元數(shù)據(jù)的倉(cāng)庫(kù),用戶的實(shí)際數(shù)據(jù)不經(jīng)過(guò)名字節(jié)點(diǎn)。
數(shù)據(jù)復(fù)制
    HDFS 設(shè)計(jì)成能可靠地在集群中大量機(jī)器之間存儲(chǔ)大量的文件,它以塊序列的形式存儲(chǔ)文件。文件中除了最后一個(gè)塊,其他塊都有相同的大小。屬于文件的塊為了故障容錯(cuò)而被復(fù)制。塊的大小和復(fù)制數(shù)是以文件為單位進(jìn)行配置的,應(yīng)用可以在文件創(chuàng)建時(shí)或者之后修改復(fù)制因子。HDFS 中的文件是一次寫(xiě)的,并且任何時(shí)候都只有一個(gè)寫(xiě)操作。
    名字節(jié)點(diǎn)負(fù)責(zé)處理與所有的塊復(fù)制相關(guān)的決策。它周期性地接受集群中數(shù)據(jù)節(jié)點(diǎn)的心跳和塊報(bào)告。一個(gè)心跳的到達(dá)表示這個(gè)數(shù)據(jù)節(jié)點(diǎn)是正常的。一個(gè)塊報(bào)告包括該數(shù)據(jù)節(jié)點(diǎn)上所有塊的列表。
副本放置策略
    塊副本存放位置的選擇嚴(yán)重影響 HDFS 的可靠性和性能。HDFS 采用機(jī)架敏感(rack awareness)的副本存放策略來(lái)提高數(shù)據(jù)的可靠性、可用性和網(wǎng)絡(luò)帶寬的利用率。
                                                                圖2.副本放置策略圖

HDFS中副本放置策略是什么

     HDFS 運(yùn)行在跨越大量機(jī)架的集群之上。兩個(gè)不同機(jī)架上的節(jié)點(diǎn)是通過(guò)交換機(jī)實(shí)現(xiàn)通信的,在大多數(shù)情況下,相同機(jī)架上機(jī)器間的網(wǎng)絡(luò)帶寬優(yōu)于在不同機(jī)架上的機(jī)器。
     在開(kāi)始的時(shí)候,每一個(gè)數(shù)據(jù)節(jié)點(diǎn)自檢它所屬的機(jī)架 id,然后在向名字節(jié)點(diǎn)注冊(cè)的時(shí)候告知它的機(jī)架 id。HDFS 提供接口以便很容易地掛載檢測(cè)機(jī)架標(biāo)示的模塊。一個(gè)簡(jiǎn)單但不是最優(yōu)的方式就是將副本放置在不同的機(jī)架上,這就防止了機(jī)架故障時(shí)數(shù)據(jù)的丟失,并且在讀數(shù)據(jù)的時(shí)候可以充分利用不同機(jī)架的帶寬。這個(gè)方式均勻地將復(fù)制分散在集群中,這就簡(jiǎn)單地實(shí)現(xiàn)了組建故障時(shí)的負(fù)載均衡。然而這種方式增加了寫(xiě)的成本,因?yàn)閷?xiě)的時(shí)候需要跨越多個(gè)機(jī)架傳輸文件塊。
    一般情況下復(fù)制因子(文件的副本數(shù))為 3,HDFS 的副本放置策略是:將第一個(gè)副本放在本地節(jié)點(diǎn),將第二個(gè)副本放到本地機(jī)架上的另外一個(gè)節(jié)點(diǎn),而將第三個(gè)副本放到不同機(jī)架上的節(jié)點(diǎn)。這種方式減少了機(jī)架間的寫(xiě)流量,從而提高了寫(xiě)的性能。機(jī)架故障的幾率遠(yuǎn)小于節(jié)點(diǎn)故障。這種方式并不影響數(shù)據(jù)可靠性和可用性的限制,并且它確實(shí)減少了讀操作的網(wǎng)絡(luò)聚合帶寬,因?yàn)槲募K僅存在兩個(gè)不同的機(jī)架,而不是三個(gè)。文件的副本不是均勻地分布在機(jī)架當(dāng)中,1/3 副本在同一個(gè)節(jié)點(diǎn)上,1/3 副本在同一個(gè)機(jī)架上,另外 1/3 副本均勻地分布在其他機(jī)架上。這種方式提高了寫(xiě)的性能,并且不影響數(shù)據(jù)的可靠性和讀性能
                                                                    圖3.副本放置策略源碼分析圖

HDFS中副本放置策略是什么

HDFS 副本放置策略缺陷
    HDFS 的默認(rèn)副本放置策略是一個(gè)隨機(jī)選擇策略,副本放置的最終狀態(tài)很難被控制。其具體表現(xiàn)如下:
    (1) 其是利用將副本放置在不同的機(jī)架上來(lái)達(dá)到高可靠性和數(shù)據(jù)塊的均勻分布存儲(chǔ)的,但如果數(shù)據(jù)中心只有一個(gè)機(jī)架,那么該副本放置策略就退化為一個(gè)隨機(jī)選擇策略,數(shù)據(jù)塊的均勻分布和可靠性就很難被保證。
    (2) 其并沒(méi)有考慮到節(jié)點(diǎn)負(fù)載的情況,即使有一個(gè)節(jié)點(diǎn)的負(fù)載遠(yuǎn)高于其他節(jié)點(diǎn),按照默認(rèn)的副本放置策略,這個(gè)節(jié)點(diǎn)還是有可能被持續(xù)的寫(xiě)入數(shù)據(jù)。
    (3) 其主要是對(duì)前三個(gè)副本的放置位置做出了考慮,如果需要放置更多的副本,則后面的副本放置會(huì)采用隨機(jī)選擇的策略。
    當(dāng)然在 HDFS 系統(tǒng)中也有個(gè)叫均衡器(Balancer)的守護(hù)進(jìn)程。它會(huì)將數(shù)據(jù)塊從負(fù)載較高的節(jié)點(diǎn)移動(dòng)到負(fù)載較低的節(jié)點(diǎn)上,從而達(dá)到數(shù)據(jù)塊重新分配的目的,最終使得整個(gè)集群分布均衡。雖然均衡器能在一定程度上解決問(wèn)題,但是它也是存在缺陷的:
    (1) 它對(duì)于集群數(shù)據(jù)塊均衡的調(diào)節(jié)具有滯后性。
    (2) 均衡器的調(diào)節(jié)和數(shù)據(jù)塊的移動(dòng)都需要一定資源的消耗。
    因此,解決問(wèn)題的關(guān)鍵是應(yīng)該放在最初副本的放置上而不是事后去補(bǔ)救。這也就需要對(duì) HDFS 的副本放置策略做出適當(dāng)?shù)膬?yōu)化。
HDFS 副本放置策略優(yōu)化
    根據(jù)上述所說(shuō)的缺陷,本文提出了基于用戶信息和負(fù)載的副本放置策略 UILBPS(Placement Strategy based on User Information and Load Balance)。
    基于 HDFS 的特性,在副本創(chuàng)建副本后的操作主要以讀取為主,即將負(fù)載均衡副本可用性和訪問(wèn)速率作為副本放置策略的優(yōu)化目標(biāo)。其中,副本訪問(wèn)速率性能受到副本節(jié)點(diǎn)負(fù)載的影響,尤其是 I/O 負(fù)載會(huì)成為訪問(wèn)的瓶頸;副本所在節(jié)點(diǎn)的狀態(tài)也會(huì)對(duì)副本訪問(wèn)產(chǎn)生一定的影響,并影響到之后的負(fù)載均衡上。另外,同一用戶所創(chuàng)建的副本,其副本訪問(wèn)在地域上有一定的相似性。因此,UILBPS 將通過(guò)副本訪問(wèn)特征的提取和節(jié)點(diǎn)負(fù)載的計(jì)算,解決副本初始創(chuàng)建階段的副本數(shù)量和副本放置位置的確定問(wèn)題。
副本訪問(wèn)特征提取
    對(duì)用戶副本放置特征的提取主要借助用戶的歷史信息。對(duì)于一個(gè)有歷史信息的用戶來(lái)說(shuō),其創(chuàng)建的副本已有一定的訪問(wèn)記錄。我們定義副本訪問(wèn)位置向量 cn_P 和訪問(wèn)位置范圍 cn_cov 來(lái)提取副本訪問(wèn)的特征。其中 cn_P 表示該副本被訪問(wèn)的具體位置,cn_cov 表示訪問(wèn)同一副本的客戶端(Client)的主要分布范圍。
    對(duì)于有 k 條副本訪問(wèn)位置記錄的數(shù)據(jù)塊 i,其 cn_cov 為其大于 q 條記錄所對(duì)應(yīng)的最小位置范圍(q=0.8k),若沒(méi)有這樣的范圍則 cn_cov 為全集。
    提取過(guò)程如下:
    (1) Client 隨機(jī)抽取用戶已創(chuàng)建的 n 個(gè)數(shù)據(jù)塊組成抽樣樣本集合。
    (2) Client 向名字節(jié)點(diǎn)發(fā)送獲取集合 N 的副本個(gè)數(shù)信息和 cn_P 請(qǐng)求,獲得樣本副本個(gè)數(shù)集合和 cn_P 集合。
    (3) Client 計(jì)算樣本集合中 n 個(gè)數(shù)據(jù)塊的副本平均值下界作為該次副本創(chuàng)建數(shù)量 rep_num。默認(rèn)副本下界為 2,即至少有 2 個(gè)副本。
    (4) Client 根據(jù)樣本的 cn_P 計(jì)算 cn_cov,并組成包含了 n 個(gè)副本位置范圍的集合 F={f1,f2,f3,……,fn}。
    (5)Client 根據(jù)集合 F 來(lái)確定副本位置選擇集合 F'(F 子元素的并集)。
    (6) Client 將 rep_num 和 F'發(fā)送給名字節(jié)點(diǎn)。
    如下表所示,根據(jù)訪問(wèn)節(jié)點(diǎn)的記錄,可以得出其訪問(wèn)位置范圍為向量(0,86,0574)。

節(jié)點(diǎn)國(guó)際地區(qū)訪問(wèn)次數(shù)
a08108015
b08602121
c0860574109
d086057481
e086057490
f086058017
g118371
h3550899
i437213
j5145032

節(jié)點(diǎn)負(fù)載
    名字節(jié)點(diǎn)在獲得副本創(chuàng)建個(gè)數(shù)和副本位置選擇集合后,對(duì)處于副本位置選擇集合中的節(jié)點(diǎn)根據(jù)其負(fù)載情況,選擇 req_num 個(gè)負(fù)載低的節(jié)點(diǎn)進(jìn)行副本放置。
    其中節(jié)點(diǎn)負(fù)載越大表示磁盤(pán)越繁忙,已使用空間越多;越小表示磁盤(pán)空閑,已使用的空間越小。因此,通過(guò)考慮節(jié)點(diǎn)的負(fù)載情況,一方面可以避免因磁盤(pán)繁忙而導(dǎo)致數(shù)據(jù)塊寫(xiě)操作的阻塞,從而導(dǎo)致系統(tǒng)性能的下降;一方面可以盡可能的使副本分布均衡,降低后續(xù)副本調(diào)整操作的壓力,節(jié)約系統(tǒng)資源。
    因此以磁盤(pán) I/O 負(fù)載和磁盤(pán)空間負(fù)載作為整個(gè)節(jié)點(diǎn)負(fù)載的主要影響因素。公式如下:
    清單1.節(jié)點(diǎn)負(fù)載計(jì)算公式

    LOAD=W1*IO + W2*SPACE

    其中 W1 和 W2 是磁盤(pán) I/O 負(fù)載和磁盤(pán)空間負(fù)載的權(quán)重值。
放置算法
                                                            圖 4. 副本創(chuàng)建流程圖

HDFS中副本放置策略是什么

副本放置策略比較分析和思考
    本節(jié)通過(guò)模擬數(shù)據(jù),進(jìn)行 HDFS 默認(rèn)算法與 UILBPS 算法進(jìn)行比較分析。初始化模擬系統(tǒng)中有 3 個(gè)大洲,5 個(gè)國(guó)家,10 個(gè)地區(qū),10 個(gè)數(shù)據(jù)中心,20 個(gè)機(jī)架,200 個(gè)節(jié)點(diǎn),20 個(gè) Client,250 個(gè)數(shù)據(jù)及其 2~5 個(gè)副本。其中節(jié)點(diǎn)和 Client 隨機(jī)分布在各個(gè)不同的機(jī)架上,每個(gè)數(shù)據(jù)對(duì)象的副本也隨機(jī)分布在不同的節(jié)點(diǎn)上,且被 Client 訪問(wèn) 10~20 次。不過(guò)同一 Client 的訪問(wèn)節(jié)點(diǎn)有一定的相似性,保證訪問(wèn)節(jié)點(diǎn)分布在一定的范圍。系統(tǒng)默認(rèn)磁盤(pán)負(fù)載的權(quán)重值為 0.5。
    下圖都是該模擬系統(tǒng)在重新創(chuàng)建 M 個(gè)數(shù)據(jù)對(duì)象后的比較:
                                                                            圖5.負(fù)載分析圖

HDFS中副本放置策略是什么

    由上圖可見(jiàn),在創(chuàng)建的數(shù)據(jù)對(duì)象 M 相同的情況下,UILBPS 的負(fù)載是明顯低于 HDFS 默認(rèn)算法下的負(fù)載的,這正是因?yàn)榭紤]到了負(fù)載均衡的原因,盡可能的選擇那些負(fù)載較低的節(jié)點(diǎn)進(jìn)行副本的放置的結(jié)果。
                                                                        圖6.訪問(wèn)速率分析圖

HDFS中副本放置策略是什么

    由上圖可見(jiàn),在創(chuàng)建的數(shù)據(jù)對(duì)象 M 相同的情況下,UILBPS 的平均訪問(wèn)距離是略小于 HDFS 默認(rèn)算法下的負(fù)載的,這正是因?yàn)榭紤]到了用戶訪問(wèn)特性的原因,使其 Client 能盡可能的訪問(wèn)與其較近的節(jié)點(diǎn),從而節(jié)約了網(wǎng)絡(luò)帶寬,減少了因網(wǎng)絡(luò)故障帶來(lái)的風(fēng)險(xiǎn),加快了節(jié)點(diǎn)訪問(wèn)的速率。
    HDFS 的機(jī)架敏感放置策略對(duì)其副本放置的位置是隨機(jī)的,而 UILBPS 則是基于用戶歷史信息和負(fù)載的,充分考慮了節(jié)點(diǎn)負(fù)載情況和用戶歷史訪問(wèn)的地域特征,從某種程度來(lái)說(shuō)對(duì)機(jī)架敏感放置策略進(jìn)行了優(yōu)化,提高了系統(tǒng)的性能并均衡了系統(tǒng)負(fù)載,降低了用戶的訪問(wèn)延遲,提高了數(shù)據(jù)的可用性。
    因?yàn)?HDFS 系統(tǒng)將由數(shù)百或數(shù)千個(gè)存儲(chǔ)著文件數(shù)據(jù)片斷的服務(wù)器組成。實(shí)際上它里面有非常巨大的組成部分,每一個(gè)組成部分都很可能出現(xiàn)故障,這就意味著 HDFS 里的總是有一些部件是失效的,即硬件故障是常態(tài),而不是異常。那么如何自動(dòng)快速的恢復(fù)是 HDFS 一個(gè)很重要的目標(biāo)。而對(duì)副本放置策略的優(yōu)化則減少了系統(tǒng)負(fù)載,加快了副本的訪問(wèn)速率,從而能將失效的部件盡快的恢復(fù)過(guò)來(lái)或者起到與原失效部件一樣的作用。
    HDFS 有著高容錯(cuò)性的特點(diǎn),并且設(shè)計(jì)了用來(lái)部署在低廉的硬件上的特性。同時(shí),用戶歷史信息和負(fù)載狀況都是通過(guò)名字節(jié)點(diǎn)來(lái)進(jìn)行管理和計(jì)算。因此,優(yōu)化中附加的信息并不會(huì)很大程度上占用 HDFS 所需要的磁盤(pán)空間,也不會(huì)產(chǎn)生因磁盤(pán)空間的減少而帶來(lái)的系統(tǒng)性能下降問(wèn)題。
    對(duì)于因數(shù)據(jù)節(jié)點(diǎn)失效,副本損壞,數(shù)據(jù)節(jié)點(diǎn)磁盤(pán)損壞或者文件的復(fù)制因子增大等原因而導(dǎo)致的后續(xù)副本的調(diào)整來(lái)說(shuō),較好的副本位置更有利于副本的創(chuàng)建、刪除和遷移,即更有利于后續(xù)的副本調(diào)整,保證了分布式系統(tǒng)的一致性、可用性、分區(qū)容錯(cuò)性。

以上是“HDFS中副本放置策略是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享標(biāo)題:HDFS中副本放置策略是什么
URL地址:http://bm7419.com/article28/iipgjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、微信公眾號(hào)、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站排名、網(wǎng)站改版搜索引擎優(yōu)化

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)