Ⅰ hadoop是屬於大數據技術,還是屬於與雲計算技術
hadoop大數據與hadoop雲計算,Hadoop最擅長的事情就是可以高效地處理海量規模的數據,這樣Hadoop就和大數據及雲計算結下了不解之緣。正是由於大數據對系統提出了很多極限的要求,不論是存儲、傳輸還是計算,現有計算技術難以滿足大數據的需求,因此整個IT架構的革命性重構勢在必行,存儲能力的增長遠遠趕不上數據的增長,設計最合理的分層存儲架構已成為信息系統的關鍵。分布式存儲架構不僅需要scale up式的可擴展性,也需要scale out式的可擴展性,因此大數據處理離不開雲計算技術,雲計算可為大數據提供彈性可擴展的基礎設施支撐環境以及數據服務的高效模式,大數據則為雲計算提供了新的商業價值,大數據技術與雲計算技術必將有更完美的結合。我們知道雲計算的關鍵技術包括分布式並行計算、分布式存儲以及分布式數據管理技術,而Hadoop就是一個實現了Google雲計算系統的開源平台,包括並行計算模型MapRece、分布式文件系統HDFS,以及分布式資料庫Hbase,同時Hadoop的相關項目也很豐富,包括ZooKeeper、Pig、Chukwa、Hive、hbase、Mahout等,這些項目都使得Hadoop成為一個很大很完備的生態鏈系統。目前使用Hadoop技術實現的雲計算平台包括IBM的藍雲,雅虎、英特爾的「雲計劃」,網路的雲計算基礎架構,阿里巴巴雲計算平台,以及中國移動的BigCloud大雲平台。總而言之,用一句話概括就是雲計算因大數據問題而生,大數據驅動了雲計算的發展,而Hadoop在大數據和雲計算之間建起了一座堅實可靠的橋梁。
Ⅱ hadoop和spark的都是並行計算,有什麼相同和區別
相同點都是基於MR的原理來實現的。
不同點前者基於磁碟+內存,磁碟佔得比重比較大,而後者側重於內存+磁碟,內存佔得比重比較大,這也是為什麼Hadoop沒spark速度快的根本原因,spark基於內存來做MR,而Hadoop側重於落地到磁碟來做MR。
Ⅲ Hadoop MapRee是如何實現計算向數據靠攏
大規模數據處理時,MapRece在三個層面上的基本構思:如何對付大數據處理:分而治之。對相互間不具有計算依賴關系的大數據,實現並行最自然的辦法就是採取分而治之的策略。上升到抽象模型:Mapper與Recer。MPI等並行計算方法缺少高層並行編程模型,為了克服這一缺陷,MapRece借鑒了Lisp函數式語言中的思想,用Map和Rece兩個函數提供了高層的並行編程抽象模型。上升到構架:統一構架,為程序員隱藏系統層細節。MPI等並行計算方法缺少統一的計算框架支持,程序員需要考慮數據存儲、劃分、分發、結果收集、錯誤恢復等諸多細節;為此,MapRece設計並提供了統一的計算框架,為程序員隱藏了絕大多數系統層面的處理細節。MapRece借鑒了函數式程序設計語言Lisp中的思想,定義了如下的Map和Rece兩個抽象的編程介面,由用戶去編程實現:map:(k1;v1)[(k2;v2)]輸入:鍵值對(k1;v1)表示的數據。處理:文檔數據記錄[(k2;v2)](如文本文件中的行,或數據表格中的行)將以「鍵值對」形式傳入map函數;map函數將處理這些鍵值對,並以另一種鍵。值對形式輸出處理的一組鍵值對中間結果。輸出:鍵值對[(k2;v2)]表示的一組中間數據。rece:(k2;[v2])[(k3;v3)]輸入:由map輸出的一組鍵值對[(k2;v2)]將被進行合並處理將同樣主鍵下的不同數值合並到一個列表[v2]中,故rece的輸入為(k2;[v2])處理:對傳入的中間結果列表數據進行某種整理或進一步的處理,並產生最終的某種形式的結果輸出[(k3;v3)]。輸出:最終輸出結果[(k3;v3)]。Map和Rece為程序員提供了一個清晰的操作介面抽象描述。
Ⅳ 關於並行計算和分布式計算的理解
昨天提交論文初稿,被導師一個問題給整蒙了,你做的到底是並行計算還是分布式計算?
啥。。。。。。這TM不是一個東西?一直分布式並行計算叫著。。。。。。
於是翻閱資料,這兩個還雖然有聯系,但還真不是一個東西,具體總結如下:
並行計算,相對於串列計算而言,一般可分為時間並行和空間並行。時間並行可以看做是流水線操作,類似CPU執行的流水線,而空間並行則是目前大多數研究的問題,例如一台機器擁有多個處理器,在多個CPU上執行計算,例如MPI技術,通常可分為數據並行和任務並行。
而分布式計算則是相對單機計算而言的,利用多台機器,通過網路連接和消息傳遞協調完成計算。把需要進行大量計算的工程數據分區成小塊,由多台計算機分別計算,再上傳運算結果後,將結果統一合並得出最終結果。
總而言之,以上概念有點扯。。。。。。
其實目前人們比較關系並行計算和分布式計算重疊的部分,例如Hadoop,spark等等。
Ⅳ Storm Spark Hadoop 這三個流行並行計算框架有什麼不同
storm是實時處理,spark和hadoop是批處理,兩者是互補。而spark和hadoop比較的話,spark主要是充分利用內存計算並且支持的操作而不僅是map/rece,這樣有些迭代密集的演算法執行效率會更高。而hadoop可能需要多個mr任務來完成。在2.0之後,hadoop使用了新的yarn框架,map/rece只是其中一種默許了,spark也可以在hadoop的yarn框架下運行的,所以2者還會是融合的。
Ⅵ hadoop和maprece是一種什麼關系
hadoop是依據maprece的原理,用Java語言實現的分布式處理機制。
Hadoop是一個能夠對大量數據進行分布式處理的軟體框架,實現了Google的MapRece編程模型和框架,能夠把應用程序分割成許多的小的工作單元,並把這些單元放到任何集群節點上執行。
MapRece是Hadoop中的一個數據運算核心模塊,MapRece通過JobClient生成任務運行文件,並在JobTracker進行調度指派TaskTracker完成任務。
(6)並行演算法hadoop擴展閱讀
1、MapRece分布式計算框架原型:
MapRece分布式計算模型是由Google提出,主要用於搜索領域,解決海量數據的計算問題Apache對其做了開源實現,整合在hadoop中實現通用分布式數據計算。
MR由兩個階段組成:Map和Rece,用戶只需要實現map()和rece()兩個函數,即可實現分布式計算,非常簡單。大大簡化了分布式並發處理程序的開發。
Map階段就是進行分段處理。
Rece階段就是進行匯總處理。匯總之後還可以進行數據的一系列美化操作,然後再輸出。
2、MapRece組件介紹:
JobClient:用於把用戶的作業任務生成Job的運行包,並存放到HDFS中。
JobinProgress:把Job運行包分解成MapTask和ReceTask並存放於TaskTracker中。
JobTracker(Master):進行調度管理TaskTracker執行任務。
TaskTracker(Slave):執行分配下來的Map計算或Rece計算任務。
Ⅶ 國內外的Hadoop應用現狀
文 | 翟周偉
本文節選自《Hadoop核心技術》一書。
Hadoop是一個開源的高效雲計算基礎架構平台,其不僅僅在雲計算領域用途廣泛,還可以支撐搜索引擎服務,作為搜索引擎底層的基礎架構系統,同時在海量數據處理、數據挖掘、機器學習、科學計算等領域都越來越受到青睞。本文將講述國內外的hadoop應用現狀。
國外Hadoop的應用現狀
1.Yahoo
Yahoo是Hadoop的最大支持者,截至2012年,Yahoo的Hadoop機器總節點數目超過42?000個,有超過10萬的核心CPU在運行Hadoop。最大的一個單Master節點集群有4500個節點(每個節點雙路4核心CPUboxesw,4×1TB磁碟,16GBRAM)。總的集群存儲容量大於350PB,每月提交的作業數目超過1000萬個,在Pig中超過60%的Hadoop作業是使用Pig編寫提交的。
Yahoo的Hadoop應用主要包括以下幾個方面:
支持廣告系統
用戶行為分析
支持Web搜索
反垃圾郵件系統
會員反濫用
內容敏捷
個性化推薦
同時Pig研究並測試支持超大規模節點集群的Hadoop系統。
2.Facebook
Facebook使用Hadoop存儲內部日誌與多維數據,並以此作為報告、分析和機器學習的數據源。目前Hadoop集群的機器節點超過1400台,共計11?200個核心CPU,超過15PB原始存儲容量,每個商用機器節點配置了8核CPU,12TB數據存儲,主要使用StreamingAPI和JavaAPI編程介面。Facebook同時在Hadoop基礎上建立了一個名為Hive的高級數據倉庫框架,Hive已經正式成為基於Hadoop的Apache一級項目。此外,還開發了HDFS上的FUSE實現。
3.A9.com
A9.com為Amazon使用Hadoop構建了商品搜索索引,主要使用StreamingAPI以及C++、Perl和Python工具,同時使用Java和StreamingAPI分析處理每日數以百萬計的會話。A9.com為Amazon構建的索引服務運行在100節點左右的Hadoop集群上。
4.Adobe
Adobe主要使用Hadoop及HBase,同於支撐社會服務計算,以及結構化的數據存儲和處理。大約有超過30個節點的Hadoop-HBase生產集群。Adobe將數據直接持續地存儲在HBase中,並以HBase作為數據源運行MapRece作業處理,然後將其運行結果直接存到HBase或外部系統。Adobe在2008年10月就已經將Hadoop和HBase應用於生產集群。
5.CbIR
自2008年4月以來,日本的CbIR(Content-basedInformationRetrieval)公司在AmazonEC2上使用Hadoop來構建圖像處理環境,用於圖像產品推薦系統。使用Hadoop環境生成源資料庫,便於Web應用對其快速訪問,同時使用Hadoop分析用戶行為的相似性。
6.Datagraph
Datagraph主要使用Hadoop批量處理大量的RDF數據集,尤其是利用Hadoop對RDF數據建立索引。Datagraph也使用Hadoop為客戶執行長時間運行的離線SPARQL查詢。Datagraph是使用AmazonS3和Cassandra存儲RDF數據輸入和輸出文件的,並已經開發了一個基於MapRece處理RDF數據的Ruby框架——RDFgrid。
Datagraph主要使用Ruby、RDF.rb以及自己開發的RDFgrid框架來處理RDF數據,主要使用HadoopStreaming介面。
7.EBay
單集群超過532節點集群,單節點8核心CPU,容量超過5.3PB存儲。大量使用的MapRece的Java介面、Pig、Hive來處理大規模的數據,還使用HBase進行搜索優化和研究。
8.IBM
IBM藍雲也利用Hadoop來構建雲基礎設施。IBM藍雲使用的技術包括:Xen和PowerVM虛擬化的Linux操作系統映像及Hadoop並行工作量調度,並發布了自己的Hadoop發行版及大數據解決方案。
9.Last.Fm
Last.Fm主要用於圖表計算、專利申報、日誌分析、A/B測試、數據集合並等,也使用Hadoop對超過百萬的曲目進行大規模的音頻特徵分析。
節點超過100台機器,集群節點配置雙四核[email protected]@2.13GHz,24GB內存,8TB(4×2TB)存儲。
10.LinkedIn
LinkedIn有多種硬體配置的Hadoop集群,主要集群配置如下:
800節點集群,基於Westmere的惠普SL170X與2×4的核心,24GB內存,6×2TBSATA。
1900節點集群,基於Westmere的超微-HX8DTT,與2×6的核心,24GB內存,6×2TBSATA。
1400節點集群,基於SandyBridge超微與2×6的核心,32GB內存,6×2TBSATA。
使用的軟體如下:
操作系統使用RHEL6.3。
JDK使用SUNJDK1.6.0_32。
Apache的Hadoop0.20.2的補丁和ApacheHadoop的1.0.4補丁。
Azkaban和Azkaban用於作業調度。
Hive、Avro、Kafka等。
11.MobileAnalytic.TV
主要使用Hadoop應用在並行化演算法領域,涉及的MapRece應用演算法如下。
信息檢索和分析。
機器生成的內容——文檔、文本、音頻、視頻。
自然語言處理。
項目組合包括:
移動社交網路。
網路爬蟲。
文本到語音轉化。
音頻和視頻自動生成。
12.Openstat
主要利用Hadoop定製一個網路日誌分析並生成報告,其生產環境下超過50個節點集群(雙路四核Xeon處理器,16GB的RAM,4~6硬碟驅動器),還有兩個相對小的集群用於個性化分析,每天處理約500萬的事件,每月15億美元的交易數據,集群每天產生大約25GB的報告。
使用的技術主要包括:CDH、Cascading、Janino。
13.Quantcast
3000個CPU核心,3500TB存儲,每日處理1PB以上的數據,使用完全自定義的數據路徑和排序器的Hadoop調度器,對KFS文件系統有突出貢獻。
14.Rapleaf
超過80個節點的集群(每個節點有2個雙核CPU,2TB×8存儲,16GBRAM內存);主要使用Hadoop、Hive處理Web上關聯到個人的數據,並引入Cascading簡化數據流穿過各種處理階段。
15.WorldLingo
硬體上超過44台伺服器(每台有2個雙核CPU,2TB存儲,8GB內存),每台伺服器均運行Xen,啟動一個虛擬機實例運行Hadoop/HBase,再啟動一個虛擬機實例運行Web或應用程序伺服器,即有88台可用的虛擬機;運行兩套獨立的Hadoop/HBase機群,它們各自擁有22個節點。Hadoop主要用於運行HBase和MapRece作業,掃描HBase的數據表,執行特定的任務。HBase作為一種可擴展的、快速的存儲後端,用於保存數以百萬的文檔。目前存儲了1200萬篇文檔,近期的目標是存儲4.5億篇文檔。
16.格拉斯哥大學的TerrierTeam
超過30個節點的實驗集群(每節點配置XeonQuadCore2.4GHz,4GB內存,1TB存儲)。使用Hadoop促進信息檢索研究和試驗,特別是用於TREC,用於TerrierIR平台。Terrier的開源發行版中包含了基於HadoopMapRece的大規模分布式索引。
17.內布拉斯加大學的HollandComputingCenter
運行一個中等規模的Hadoop機群(共計1.6PB存儲)用於存儲和提供物理數據,以支持緊湊型μ子螺旋型磁譜儀(CompactMuonSolenoid,CMS)實驗的計算。這需要一類能夠以幾Gbps的速度下載數據,並以更高的速度處理數據的文件系統的支持。
18.VisibleMeasures
將Hadoop作為可擴展數據流水線的一個組件,最終用於VisibleSuite等產品。使用Hadoop匯總、存儲和分析與網路視頻觀眾收看行為相關的數據流。目前的網格包括超過128個CPU核心,超過100TB的存儲,並計劃大幅擴容。
國內Hadoop的應用現狀
Hadoop在國內的應用主要以互聯網公司為主,下面主要介紹大規模使用Hadoop或研究Hadoop的公司。
1.網路
網路在2006年就開始關注Hadoop並開始調研和使用,在2012年其總的集群規模達到近十個,單集群超過2800台機器節點,Hadoop機器總數有上萬台機器,總的存儲容量超過100PB,已經使用的超過74PB,每天提交的作業數目有數千個之多,每天的輸入數據量已經超過7500TB,輸出超過1700TB。
網路的Hadoop集群為整個公司的數據團隊、大搜索團隊、社區產品團隊、廣告團隊,以及LBS團體提供統一的計算和存儲服務,主要應用包括:
數據挖掘與分析。
日誌分析平台。
數據倉庫系統。
推薦引擎系統。
用戶行為分析系統。
同時網路在Hadoop的基礎上還開發了自己的日誌分析平台、數據倉庫系統,以及統一的C++編程介面,並對Hadoop進行深度改造,開發了HadoopC++擴展HCE系統。
2.阿里巴巴
阿里巴巴的Hadoop集群截至2012年大約有3200台伺服器,大約30?000物理CPU核心,總內存100TB,總的存儲容量超過60PB,每天的作業數目超過150?000個,每天hivequery查詢大於6000個,每天掃描數據量約為7.5PB,每天掃描文件數約為4億,存儲利用率大約為80%,CPU利用率平均為65%,峰值可以達到80%。阿里巴巴的Hadoop集群擁有150個用戶組、4500個集群用戶,為淘寶、天貓、一淘、聚劃算、CBU、支付寶提供底層的基礎計算和存儲服務,主要應用包括:
數據平台系統。
搜索支撐。
廣告系統。
數據魔方。
量子統計。
淘數據。
推薦引擎系統。
搜索排行榜。
為了便於開發,其還開發了WebIDE繼承開發環境,使用的相關系統包括:Hive、Pig、Mahout、Hbase等。
3.騰訊
騰訊也是使用Hadoop最早的中國互聯網公司之一,截至2012年年底,騰訊的Hadoop集群機器總量超過5000台,最大單集群約為2000個節點,並利用Hadoop-Hive構建了自己的數據倉庫系統TDW,同時還開發了自己的TDW-IDE基礎開發環境。騰訊的Hadoop為騰訊各個產品線提供基礎雲計算和雲存儲服務,其支持以下產品:
騰訊社交廣告平台。
搜搜(SOSO)。
拍拍網。
騰訊微博。
騰訊羅盤。
QQ會員。
騰訊游戲支撐。
QQ空間。
朋友網。
騰訊開放平台。
財付通。
手機QQ。
QQ音樂。
4.奇虎360
奇虎360主要使用Hadoop-HBase作為其搜索引擎so.com的底層網頁存儲架構系統,360搜索的網頁可到千億記錄,數據量在PB級別。截至2012年年底,其HBase集群規模超過300節點,region個數大於10萬個,使用的平台版本如下。
HBase版本:facebook0.89-fb。
HDFS版本:facebookHadoop-20。
奇虎360在Hadoop-HBase方面的工作主要為了優化減少HBase集群的啟停時間,並優化減少RS異常退出後的恢復時間。
5.華為
華為公司也是Hadoop主要做出貢獻的公司之一,排在Google和Cisco的前面,華為對Hadoop的HA方案,以及HBase領域有深入研究,並已經向業界推出了自己的基於Hadoop的大數據解決方案。
6.中國移動
中國移動於2010年5月正式推出大雲BigCloud1.0,集群節點達到了1024。中國移動的大雲基於Hadoop的MapRece實現了分布式計算,並利用了HDFS來實現分布式存儲,並開發了基於Hadoop的數據倉庫系統HugeTable,並行數據挖掘工具集BC-PDM,以及並行數據抽取轉化BC-ETL,對象存儲系統BC-ONestd等系統,並開源了自己的BC-Hadoop版本。
中國移動主要在電信領域應用Hadoop,其規劃的應用領域包括:
經分KPI集中運算。
經分系統ETL/DM。
結算系統。
信令系統。
雲計算資源池系統。
物聯網應用系統。
E-mail。
IDC服務等。
7.盤古搜索
盤古搜索(目前已和即刻搜索合並為中國搜索)主要使用Hadoop集群作為搜索引擎的基礎架構支撐系統,截至2013年年初,集群中機器數量總計超過380台,存儲總量總計3.66PB,主要包括的應用如下。
網頁存儲。
網頁解析。
建索引。
Pagerank計算。
日誌統計分析。
推薦引擎等。
即刻搜索(人民搜索)
即刻搜索(目前已與盤古搜索合並為中國搜索)也使用Hadoop作為其搜索引擎的支撐系統,截至2013年,其Hadoop集群規模總計超過500台節點,配置為雙路6核心CPU,48G內存,11×2T存儲,集群總容量超過10PB,使用率在78%左右,每天處理讀取的數據量約為500TB,峰值大於1P,平均約為300TB。
即刻搜索在搜索引擎中使用sstable格式存儲網頁並直接將sstable文件存儲在HDFS上面,主要使用HadoopPipes編程介面進行後續處理,也使用Streaming介面處理數據,主要的應用包括:
網頁存儲。
解析。
建索引。
推薦引擎。
end
Ⅷ Hadoop到底是什麼玩意
Hadoop到底是個啥?
答:Hadoop是基於廉價設備利用集群的威力對海量數據進行安全存儲和高效計算的分布式存儲和分析框架,Hadoop本身是一個龐大的項目家族,其核心 家族或者底層是HDFS和MapRece,HDFS和MapRece分別用來實現對海量數據的存儲和分析,其它的項目,例如Hive、HBase 等都是基於HDFS和MapRece,是為了解決特定類型的大數據處理問題而提出的子項目,使用Hive、HBase等子項目可以在更高的抽象的基礎上更簡單的編寫分布式大數據處理程序。Hadoop的其它子項目還包括Common, Avro, Pig, ZooKeeper, Sqoop, Oozie 等,隨著時間的推移一些新的子項目會被加入進來,一些關注度不高的項目會被移除Hadoop家族,所以Hadoop是一個充滿活力的系統。
Apache Hadoop: 是Apache開源組織的一個分布式計算開源框架,提供了一個分布式文件系統子項目(HDFS)和支持MapRece分布式計算的軟體架構。
Apache Hive: 是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張資料庫表,通過類SQL語句快速實現簡單的MapRece統計,不必開發專門的MapRece應用,十分適合數據倉庫的統計分析。
ApachePig: 是一個基於Hadoop的大規模數據分析工具,它提供的SQL-LIKE語言叫Pig Latin,該語言的編譯器會把類SQL的數據分析請求轉換為一系列經過優化處理的MapRece運算。
ApacheHBase: 是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。
Apache Sqoop: 是一個用來將Hadoop和關系型資料庫中的數據相互轉移的工具,可以將一個關系型資料庫(MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關系型資料庫中。
Apache Zookeeper: 是一個為分布式應用所設計的分布的、開源的協調服務,它主要是用來解決分布式應用中經常遇到的一些數據管理問題,簡化分布式應用協調及其管理的難度,提供高性能的分布式服務 ApacheMahout:是基於Hadoop的機器學習和數據挖掘的一個分布式框架。Mahout用MapRece實現了部分數據挖掘演算法,解決了並行挖掘的問題。
ApacheCassandra:是一套開源分布式NoSQL資料庫系統。它最初由Facebook開發,用於儲存簡單格式數據,集Google BigTable的數據模型與AmazonDynamo的完全分布式的架構於一身 Apache Avro: 是一個數據序列化系統,設計用於支持數據密集型,大批量數據交換的應用。Avro是新的數據序列化格式與傳輸工具,將逐步取代Hadoop原有的IPC機制 ApacheAmbari: 是一種基於Web的工具,支持Hadoop集群的供應、管理和監控。
ApacheChukwa: 是一個開源的用於監控大型分布式系統的數據收集系統,它可以將各種各樣類型的數據收集成適合 Hadoop 處理的文件保存在 HDFS 中供Hadoop 進行各種 MapRece 操作。
ApacheHama: 是一個基於HDFS的BSP(Bulk Synchronous Parallel)並行計算框架, Hama可用於包括圖、矩陣和網路演算法在內的大規模、大數據計算。
ApacheFlume: 是一個分布的、可靠的、高可用的海量日誌聚合的系統,可用於日誌數據收集,日誌數據處理,日誌數據傳輸。
ApacheGiraph: 是一個可伸縮的分布式迭代圖處理系統, 基於Hadoop平台,靈感來自 BSP (bulk synchronous parallel) 和Google 的 Pregel。
ApacheOozie: 是一個工作流引擎伺服器, 用於管理和協調運行在Hadoop平台上(HDFS、Pig和MapRece)的任務。
ApacheCrunch: 是基於Google的FlumeJava庫編寫的Java庫,用於創建MapRece程序。與Hive,Pig類似,Crunch提供了用於實現如連接數據、執行聚合和排序記錄等常見任務的模式庫 ApacheWhirr: 是一套運行於雲服務的類庫(包括Hadoop),可提供高度的互補性。Whirr學支持Amazon EC2和Rackspace的服務。
ApacheBigtop: 是一個對Hadoop及其周邊生態進行打包,分發和測試的工具。
ApacheHCatalog: 是基於Hadoop的數據表和存儲管理,實現中央的元數據和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供關系視圖。
ClouderaHue: 是一個基於WEB的監控和管理系統,實現對HDFS,MapRece/YARN, HBase, Hive, Pig的web化操作和管理。