大數(shù)據(jù)處理架構(gòu)Hadoop
1.概述
1.1 Hadoop 簡介
hadoop是apache軟件基金會(huì)旗下的一個(gè)開源分布式計(jì)算平臺(tái),為用戶提供系統(tǒng)底層細(xì)節(jié)透明的分布式基礎(chǔ)架構(gòu)。hadoop基于java語言
開發(fā)。跨平臺(tái)性能好,可以部署在廉價(jià)的計(jì)算機(jī)集群中。hadoop核心是HDFS(分布式文件系統(tǒng),解決了海量數(shù)據(jù)的存儲(chǔ))和mapreduce
(解決了海量數(shù)據(jù)的處理)。hadoop被公認(rèn)為行業(yè)大數(shù)據(jù)標(biāo)準(zhǔn)開源軟件,在分布式環(huán)境下提供了海量數(shù)據(jù)段 處理能力。
2008年4月,hadoop打破當(dāng)時(shí)的世界記錄成為最快排序1TB數(shù)據(jù)的系統(tǒng),他采用901個(gè)節(jié)點(diǎn)構(gòu)成的集群運(yùn)算,排序時(shí)間只用209S。
1.2 Hadoop的發(fā)展簡史
hadoop最初由apache Lucene項(xiàng)目的創(chuàng)始人Doug Cutting 開發(fā)的文本索引庫。2002年的時(shí)候,Nutch項(xiàng)目(Lucene項(xiàng)目一部分)遇到
了該框架無法擴(kuò)展到擁有數(shù)十億網(wǎng)頁的網(wǎng)絡(luò)。2003年的時(shí)候Google 發(fā)布了分布式文件系統(tǒng)GFS的論文,2004年Nutch項(xiàng)目模仿GFS開發(fā)了
NDFS(HDFS前身)。2004年,谷歌公司有發(fā)布了MapReduce分布式編程思想的論文。2005年Nutch 項(xiàng)目開源了谷歌的MapReduce。
至此。hadoop的兩個(gè)核心HDFS和MapReduce ,受谷歌論文的影響,成就了hadoop在海量數(shù)據(jù)處理靈域的頭羊領(lǐng)袖地位。2008年一月,
Hadoop正式成為apache頂級(jí)的項(xiàng)目。
1.3 hadoop 特性
高可用性 : 采用冗余存儲(chǔ)方式
高效性:采用分布式存儲(chǔ)和分布式處理,搞笑的處理PB級(jí)數(shù)據(jù)
高可擴(kuò)展性:hadoop設(shè)計(jì)目的:高效穩(wěn)定運(yùn)行在廉價(jià)的計(jì)算機(jī)集群上。
高容錯(cuò)性:采用冗余數(shù)據(jù)存儲(chǔ)方式。
低成本:采用廉價(jià)的計(jì)算機(jī)集群。
運(yùn)行在linux平臺(tái)。
支持多種編程語言。
1.4 hadoop的版本
apache hadoop版本分為兩代,第一代hadoop包含0.20x ,0.21.x和0.22.x三個(gè)版本。其中,0.20x最后演變成1.0.x,成為穩(wěn)定版。
0.21.x和0.22.x增加了HDFS HA(高可用)等重要特性。第二代hadoop包含0.23.x和2.x兩個(gè)版本。
第二代hadoop比第一代hadoop做了較大的改進(jìn):主要是拆分了MapReduce的職能,減輕了系統(tǒng)負(fù)載。增加了YARN資源調(diào)度框架,
mapreduce 運(yùn)行在YARN框架(負(fù)責(zé)系統(tǒng)資源的調(diào)度的基礎(chǔ)上,不在負(fù)責(zé)系統(tǒng)資源的調(diào)度,只專心于分布式計(jì)算。做為hadoop另一個(gè)核心
的HDFS也增加了 federation 和HA(高可用和熱備份)(HDFS中的namenode需要高可用)
apache的各個(gè)版本的比較:
除了免費(fèi)開源apache hadoop版本提供標(biāo)準(zhǔn),還有一些商業(yè)化公司陸續(xù)退出hadoop版本。
2014年進(jìn)入上海的 cloudera 與apache hadoop功能同步部分開源,具有自主研發(fā)產(chǎn)品,impala、navigator
hortonwork 與apache 功能同步也完全開源(是apache hadoop平臺(tái)最大的貢獻(xiàn)者。產(chǎn)品:Tez構(gòu)架,下一代hadoop查詢處理框架)
MapR 在apache hadoop基礎(chǔ)上修改優(yōu)化了許多,也形成了自己的 產(chǎn)品。
國產(chǎn)的有 星環(huán)。核心組件與apache 同步,底層較多,完全封閉閉源,也又自己的hadoop產(chǎn)品 Inceptor 、Hyperbase.
1.41 hadoop在企業(yè)的應(yīng)用構(gòu)架分為3層:數(shù)據(jù)源的流向依次是數(shù)據(jù)來源 ==》大數(shù)據(jù)層==》訪問層
在大數(shù)據(jù)層以HDFS分布式存儲(chǔ)為基礎(chǔ);分為三部分。分別為訪問層的3個(gè)功能即:數(shù)據(jù)分析、數(shù)據(jù)實(shí)時(shí)查詢、數(shù)據(jù)挖掘提供運(yùn)算。
其中大數(shù)據(jù)層的: mapreduce (hive, pig) 提供了離線數(shù)據(jù)分析
Hbase(solr redis) 提供了數(shù)據(jù)的實(shí)時(shí)查詢
Mahout BI分析 完成 數(shù)據(jù)挖掘
1.5 hadoop生態(tài)系統(tǒng)
為綏芬河等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及綏芬河網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、綏芬河網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
1.51 HDFS
分布式文件系統(tǒng)(Hadoop Distributed File System HDFS)是Hadoop項(xiàng)目的核心。針對谷歌文件系統(tǒng)GFS的開源。
具有處理超大數(shù)據(jù)、流式處理運(yùn)行在廉價(jià)服務(wù)器等優(yōu)點(diǎn)。在設(shè)計(jì)之初,吧硬件故障作為常態(tài)考慮,保證在部分硬件發(fā)生故障的時(shí)候
仍能保障整體的可用性和可靠性。此外,HDFS放寬了POSIX(可移植操作系統(tǒng)接口)實(shí)現(xiàn)了流的形式訪問系統(tǒng)數(shù)據(jù)。提高系統(tǒng)的
吞吐率。
1.52 HBase
針對谷歌BigTable的開源實(shí)現(xiàn)。具有強(qiáng)大的非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)能力。采用HDFS作為底層數(shù)據(jù)存儲(chǔ),與傳統(tǒng)數(shù)據(jù)庫基于列的存儲(chǔ)
方式不同,HBase是基于行的存儲(chǔ)。可橫向擴(kuò)展。是一個(gè)提供高可靠性、高性能、可伸縮、實(shí)時(shí)讀寫、分布式的列式數(shù)據(jù)庫。
1.53 MapReduce
針對谷歌的MapReduce的開源實(shí)現(xiàn)。是一種編程模型。高度抽象到兩個(gè)函數(shù)上 Map 和 Reduce 。在不了解底層細(xì)節(jié)情況下開發(fā)
并行應(yīng)用程序,運(yùn)行在廉價(jià)計(jì)算機(jī)集群,完成海量數(shù)據(jù)(大于1T)處理核心思想是:將數(shù)據(jù)分成若干獨(dú)立的數(shù)據(jù)塊。分發(fā)給一個(gè)節(jié)點(diǎn)
管理下的各個(gè)分界點(diǎn)來共同并行完成,最后最后整合各個(gè)節(jié)點(diǎn)中間結(jié)果得到最終結(jié)果。
1.54 Hive
基于hadoop的數(shù)據(jù)倉庫工具。針對hadoop文件中的數(shù)據(jù)集進(jìn)行數(shù)據(jù)整理、特殊查詢和分析存儲(chǔ)。使用類SQL語言的Hive-QL
快速實(shí)現(xiàn)簡單MapReduce統(tǒng)計(jì)。
1.55 Pig
簡化了Hadoop常見的工作任務(wù)。為hadoop程序提供一種更加接近SQL的接口。在大型數(shù)據(jù)集中搜索滿足某個(gè)給定搜索條件的記
錄時(shí),Pig 只需要編寫一個(gè)簡單的腳本在集群中自動(dòng)并行處理與分發(fā),而MapReduce需要編寫一個(gè)單獨(dú)程序。
1.56 Mahout
提供可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法。用于數(shù)據(jù)挖掘。
1.57 Zookeeper
針對谷歌Chubby的一個(gè)開源實(shí)現(xiàn)、是高效和可靠的協(xié)同工作系統(tǒng),用于構(gòu)建分布式應(yīng)用,減輕分布式應(yīng)用程序所承擔(dān)的協(xié)調(diào)任務(wù)。
1.58 Flume
是 Cloudera提供的一個(gè)高可用的,高可靠的、分布式海量日志采集、聚合和傳輸?shù)南到y(tǒng)。支持日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,
用于收集數(shù)據(jù);同時(shí),F(xiàn)lume 提供對數(shù)據(jù)進(jìn)行簡單處理并寫到各種數(shù)據(jù)接受方的能力。
1.59 Sqoop
SQL-to-Hadoop的縮寫。用于Hadoop和關(guān)系數(shù)據(jù)庫間交換數(shù)據(jù),通過Sqoop可以將數(shù)據(jù)從MySQL 、Oracle、postgresql等關(guān)系
型數(shù)據(jù)中導(dǎo)入Hadoop(可以導(dǎo)入HDFS、HBase和Hive)也可以將數(shù)據(jù)從hadoop導(dǎo)出到關(guān)系數(shù)據(jù)庫。是數(shù)據(jù)遷移方便
1.510 Ambari
Web工具。支持Apache Hadoop 集群的安裝、部署、配置和管理
本文題目:Hadoop構(gòu)架
文章來源:http://muchs.cn/article34/igesse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、面包屑導(dǎo)航、自適應(yīng)網(wǎng)站、品牌網(wǎng)站建設(shè)、電子商務(wù)、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)