溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hadoop構(gòu)架

發(fā)布時(shí)間:2020-07-27 18:36:36 來源:網(wǎng)絡(luò) 閱讀:890 作者:趙雁生 欄目:大數(shù)據(jù)

大數(shù)據(jù)處理架構(gòu)Hadoop
    1.概述
    1.1 Hadoop 簡介
       hadoop是apache軟件基金會旗下的一個(gè)開源分布式計(jì)算平臺,為用戶提供系統(tǒng)底層細(xì)節(jié)透明的分布式基礎(chǔ)架構(gòu)。hadoop基于java語言
    開發(fā)??缙脚_性能好,可以部署在廉價(jià)的計(jì)算機(jī)集群中。hadoop核心是HDFS(分布式文件系統(tǒng),解決了海量數(shù)據(jù)的存儲)和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頂級的項(xiàng)目。
    1.3 hadoop 特性
        高可用性 : 采用冗余存儲方式
        高效性:采用分布式存儲和分布式處理,搞笑的處理PB級數(shù)據(jù)
        高可擴(kuò)展性:hadoop設(shè)計(jì)目的:高效穩(wěn)定運(yùn)行在廉價(jià)的計(jì)算機(jī)集群上。
        高容錯(cuò)性:采用冗余數(shù)據(jù)存儲方式。
        低成本:采用廉價(jià)的計(jì)算機(jī)集群。
        運(yùn)行在linux平臺。
        支持多種編程語言。
    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平臺最大的貢獻(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ǔ);分為三部分。分別為訪問層的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)

Hadoop構(gòu)架

        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ù)存儲能力。采用HDFS作為底層數(shù)據(jù)存儲,與傳統(tǒng)數(shù)據(jù)庫基于列的存儲
        方式不同,HBase是基于行的存儲??蓹M向擴(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ù)整理、特殊查詢和分析存儲。使用類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 集群的安裝、部署、配置和管理

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI