亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

云計(jì)算環(huán)境下架構(gòu)Hadoop集群的數(shù)據(jù)分配方式

發(fā)布時(shí)間:  2012/8/6 15:27:12
云計(jì)算是并行計(jì)算、分布式計(jì)算和網(wǎng)格計(jì)算的發(fā)展。文中詳細(xì)地闡述了MapReduce的編程思想、工作原理、步驟和方法。探討了來(lái)自Apache開源的分布式計(jì)算平臺(tái)Hadoop的核心設(shè)計(jì)MapReduce編程模型,并通過(guò)算法實(shí)驗(yàn)分析和研究了MapReduce模型的工作方式和應(yīng)用方法。

引言

云計(jì)算(Cloud Computing)是一種新興的商業(yè)計(jì)算模型。它將計(jì)算任務(wù)分布在大量計(jì)算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計(jì)算力、存儲(chǔ)空間和各種軟件服務(wù)。云計(jì)算是網(wǎng)格計(jì)算(Grid Computing)、分布式計(jì)算(Distributed Computing)、并行計(jì)算(ParallelComputing)、效用計(jì)算(Utility Computing)、網(wǎng)絡(luò)存儲(chǔ)(Network Storage Technologies)、虛擬化(Virtualization),負(fù)載均衡(Load Balance)等傳統(tǒng)計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。

它的數(shù)據(jù)存儲(chǔ)是采用分布式存儲(chǔ)方式實(shí)現(xiàn)的,這就可以保證高可靠性、高可用性和經(jīng)濟(jì)性,數(shù)據(jù)存儲(chǔ)的高可靠性是采用冗余存儲(chǔ)的方式來(lái)保證的,用可靠的軟件來(lái)彌補(bǔ)硬件的不足,從而提供廉價(jià)可靠的海量分布式存儲(chǔ)服務(wù)和計(jì)算服務(wù)。另外,數(shù)據(jù)存儲(chǔ)技術(shù)必須具有高吞吐率和高傳輸率的特點(diǎn)。這樣云計(jì)算系統(tǒng)就可同時(shí)滿足大量用戶的需求,才能為大量用戶并行地提供服務(wù)。云計(jì)算的數(shù)據(jù)存儲(chǔ)系統(tǒng)最著名的是谷歌研發(fā)的非開源系統(tǒng)GFS(Google File System)和Hadoop開發(fā)團(tuán)隊(duì)開發(fā)的開源系統(tǒng)HDFS(Hadoop Distributed FileSystem)。

1. MapReduce編程模型

并行計(jì)算技術(shù)是云計(jì)算的核心技術(shù),也是最具戰(zhàn)性的技術(shù)之一。MapReduce是Google公司的核心計(jì)算模型,名字源于函數(shù)式編程模型中的兩項(xiàng)核心操作:Map和Reduce操作。Map操作獨(dú)立地對(duì)每個(gè)元素進(jìn)行操作,且操作沒(méi)有副作用;Reduce操作對(duì)N個(gè)Map結(jié)果進(jìn)行歸約,也就是Map[1,2.。.,N]的結(jié)果是Reduce操作的參數(shù)。在一個(gè)指令式語(yǔ)言中求值順序是確定的,每個(gè)函數(shù)都有可能會(huì)變更或依賴于外部狀態(tài),所以必須有序地執(zhí)行這些函數(shù)。在MapReduce編程模型中,只要沒(méi)有函數(shù)修改或依賴千全局變量,N個(gè)Map操作的執(zhí)行順序可以是無(wú)序的,這種特性使得MapReduce模型適合于對(duì)大規(guī)模數(shù)據(jù)進(jìn)行并行處理。

在MapReduce計(jì)算模型中,有兩個(gè)關(guān)鍵過(guò)程:映射過(guò)程Map和聚集過(guò)程Reduce。因此需要用戶提供兩個(gè)關(guān)鍵函數(shù),映射(Map)函數(shù)和聚集(Reduce)函數(shù),這兩個(gè)函數(shù)對(duì)一組輸人的鍵值對(duì)(key/value)進(jìn)行計(jì)算,得出另一組輸出鍵值對(duì),即有:

Map:(in_key, in_value)-{(keyj, valuej)j=l.。.k}

Reduce :(key,[valuel,。..,valuem])一(key, fina_value)

在不同的應(yīng)用中,Map和Reduce的輸人參數(shù)和輸出結(jié)果是不相同的。Map的輸入?yún)?shù)in_key和in_value,給S了Map函數(shù)要處理的是哪些數(shù)據(jù)。每個(gè)Map函數(shù)計(jì)算完與后輸出結(jié)果一組鍵/值對(duì),它們是經(jīng)過(guò)Mad任務(wù)執(zhí)行完成后所返回的中間結(jié)果。系統(tǒng)在執(zhí)行Reduce任務(wù)之前,先檢查前面Map任務(wù)返回的中間結(jié)果,根據(jù)Key進(jìn)行分類處理,把相同key值所對(duì)應(yīng)的value合并在一起把它們送給同一個(gè)Reduce任務(wù)進(jìn)行處理,從而可以看出Reduce的輸入?yún)?shù)是(key,[ valuel,…,valuem])。Reduc任務(wù)主要對(duì)這些有著相同key值所對(duì)應(yīng)的value值進(jìn)行歸字處理,在Reduce任務(wù)執(zhí)行完成后輸出(key, finaLvalue)的f果。一個(gè)key值對(duì)應(yīng)了一個(gè)Reduce任務(wù),把所有Reduce千務(wù)執(zhí)行的結(jié)果合并連接在一起就形成了最終的輸出結(jié)果。

典型的MapReduce計(jì)算過(guò)程如圖1

\

圖1 MapReduce的工作流

(4)MapReduce庫(kù)把所有具有相同中間key值I的中間value值集合在一起后傳遞給reduce函數(shù);

(5)用戶自定義的Reduce函數(shù)接受一個(gè)中間key的值I和相關(guān)的一個(gè)value值的集合。Reduce函數(shù)將這些value值合并成一個(gè)較小的value值的集合。正常的,每次Reduce函數(shù)調(diào)用只產(chǎn)生0或I個(gè)輸出value值?梢酝ㄟ^(guò)一個(gè)迭代器把中間value值提供給Reduce函數(shù),這樣就可以處理無(wú)法全部放入內(nèi)存中的大量的value值的集合。

2. Hadoop框架的工作機(jī)制

Hadoop是Apache軟件基金會(huì)(Apache SoftwareFoundation)組織下的一個(gè)開源項(xiàng)目,提供分布式計(jì)算環(huán)境下的可靠、可擴(kuò)展軟件。Hadoop平臺(tái)擁有自己的分布式文件系統(tǒng)(HDFS),具體實(shí)現(xiàn)采用MapReduce模式。Hadoop采取文件備份的方式,為每份數(shù)據(jù)制作若干拷貝,擁有較高的安全可靠性。作為一個(gè)開源的分布式系統(tǒng)平臺(tái),Hadoop除了擁有開源所帶來(lái)的更新速度快、應(yīng)用廣泛等優(yōu)勢(shì)外,還具有以下一些其它分布式云計(jì)算框架所共有的優(yōu)點(diǎn):高度的可擴(kuò)展性、經(jīng)濟(jì)實(shí)用性、高速有效性、高可靠性。

HDFS采用Master/Slave架構(gòu),一個(gè)HDFS集群由一個(gè)命名節(jié)點(diǎn)((NameNode)和一組數(shù)據(jù)節(jié)點(diǎn)(DataNode)組成。命名節(jié)點(diǎn)是一個(gè)中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的名字空間(NameSpace)以及客戶端對(duì)文件的訪問(wèn)。在集群系統(tǒng)中,一般在一個(gè)節(jié)點(diǎn)上運(yùn)行一個(gè)數(shù)據(jù)節(jié)點(diǎn),負(fù)責(zé)管理它所在節(jié)點(diǎn)上的數(shù)據(jù)存儲(chǔ),并負(fù)責(zé)處理文件系統(tǒng)客戶端的讀寫請(qǐng)求,在命名節(jié)點(diǎn)的統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制。Hadoop還實(shí)現(xiàn)了Google的MapReduce分布式計(jì)算模型,MapReduce把應(yīng)用程序的總?cè)蝿?wù)分割成許多子任務(wù),每個(gè)子任務(wù)可以在任何集群節(jié)點(diǎn)(數(shù)據(jù)節(jié)點(diǎn),通常也作為計(jì)算節(jié)點(diǎn))上并行處理。HDFS創(chuàng)建了多份數(shù)據(jù)塊(Data Blocks)的副本(Replicas),以保證各個(gè)子任務(wù)節(jié)點(diǎn)計(jì)算的可靠性((Reliability)。由于采用了分布式文件系統(tǒng)和MapRedace模型,因此Hadoop框架具有高容錯(cuò)性及對(duì)數(shù)據(jù)讀寫的高吞吐率,能自動(dòng)處理失敗節(jié)點(diǎn)。圖2是Hadoop集群系統(tǒng)架構(gòu)的示意圖。

由圖2可知,HDFS是由一個(gè)命名節(jié)點(diǎn)和多個(gè)數(shù)據(jù)節(jié)點(diǎn)組成的。數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)著文件系統(tǒng)的元數(shù)據(jù),它的作用就像是文件系統(tǒng)的總指揮,維護(hù)文件系統(tǒng)命名空間、規(guī)范客戶對(duì)于文件的存取和提供對(duì)于文件目錄的操作,數(shù)據(jù)節(jié)點(diǎn)中存儲(chǔ)著實(shí)際的數(shù)據(jù),負(fù)責(zé)管理存儲(chǔ)節(jié)點(diǎn)上的存儲(chǔ)空間和來(lái)自客戶的讀寫請(qǐng)求。數(shù)據(jù)節(jié)點(diǎn)也執(zhí)行塊創(chuàng)建、刪除和來(lái)自命名節(jié)點(diǎn)的復(fù)制命令。


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線