魔獸傳奇

          java程序愛(ài)好者
          posts - 28, comments - 16, trackbacks - 0, articles - 6
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          轉(zhuǎn)自:http://www.aboutyun.com/thread-7569-1-1.html

          大數(shù)據(jù)我們都知道hadoop,可是還會(huì)各種各樣的技術(shù)進(jìn)入我們的視野:Spark,Storm,impala,讓我們都反映不過(guò)來(lái)。為了能夠更好的架構(gòu)大數(shù)據(jù)項(xiàng)目,這里整理一下,供技術(shù)人員,項(xiàng)目經(jīng)理,架構(gòu)師選擇合適的技術(shù),了解大數(shù)據(jù)各種技術(shù)之間的關(guān)系,選擇合適的語(yǔ)言。
          我們可以帶著下面問(wèn)題來(lái)閱讀本文章:
          1.hadoop都包含什么技術(shù)
          2.Cloudera公司與hadoop的關(guān)系是什么,都有什么產(chǎn)品,產(chǎn)品有什么特性
          3.Spark與hadoop的關(guān)聯(lián)是什么?
          4.Storm與hadoop的關(guān)聯(lián)是什么?






          hadoop家族
          創(chuàng)始人:Doug Cutting
          整個(gè)Hadoop家族由以下幾個(gè)子項(xiàng)目組成:

          Hadoop Common:
          Hadoop體系最底層的一個(gè)模塊,為Hadoop各子項(xiàng)目提供各 種工具,如:配置文件和日志操作等。詳細(xì)可查看
          Hadoop技術(shù)內(nèi)幕 深入解析HADOOP COMMON和HDFS架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理大全1-9章

          HDFS:

          是Hadoop應(yīng)用程序中主要的分布式儲(chǔ)存系統(tǒng), HDFS集群包含了一個(gè)NameNode(主節(jié)點(diǎn)),這個(gè)節(jié)點(diǎn)負(fù)責(zé)管理所有文件系統(tǒng)的元數(shù)據(jù)及存儲(chǔ)了真實(shí)數(shù)據(jù)的DataNode(數(shù)據(jù)節(jié)點(diǎn),可以有很多)。HDFS針對(duì)海量數(shù)據(jù)所設(shè)計(jì),所以相比傳統(tǒng)文件系統(tǒng)在大批量小文件上的優(yōu)化,HDFS優(yōu)化的則是對(duì)小批量大型文件的訪(fǎng)問(wèn)和存儲(chǔ)。下面為詳細(xì)資料:
          什么是HDFS及HDFS架構(gòu)設(shè)計(jì)
          HDFS+MapReduce+Hive快速入門(mén)
          Hadoop2.2.0中HDFS為何具有高可用性
          Java創(chuàng)建hdfs文件實(shí)例

          MapReduce:

          是一個(gè)軟件框架,用以輕松編寫(xiě)處理海量(TB級(jí))數(shù)據(jù)的并行應(yīng)用程序,以可靠和容錯(cuò)的方式連接大型集群中上萬(wàn)個(gè)節(jié)點(diǎn)(商用硬件)。
          詳細(xì)可查看:
          Hadoop簡(jiǎn)介(1):什么是Map/Reduce
          Hadoop MapReduce基礎(chǔ)
          MapReduce工作原理講解
          手把手交你寫(xiě)Mapreduce程序?qū)嵗⒉渴鹪贖adoop2.2.0上運(yùn)行

          Hive:

          Apache Hive是Hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng),促進(jìn)了數(shù)據(jù)的綜述(將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表)、即席查詢(xún)以及存儲(chǔ)在Hadoop兼容系統(tǒng)中的大型數(shù)據(jù)集分析。Hive提供完整的SQL查詢(xún)功能——HiveQL語(yǔ)言,同時(shí)當(dāng)使用這個(gè)語(yǔ)言表達(dá)一個(gè)邏輯變得低效和繁瑣時(shí),HiveQL還允許傳統(tǒng)的Map/Reduce程序員使用自己定制的Mapper和Reducer。hive類(lèi)似CloudBase,基于hadoop分布式計(jì)算平臺(tái)上的提供data warehouse的sql功能的一套軟件。使得存儲(chǔ)在hadoop里面的海量數(shù)據(jù) 的匯總,即席查詢(xún)簡(jiǎn)單化。
          詳細(xì)可查看:
          Hive的起源及詳細(xì)介紹
          hive詳解視頻


          Pig:

          Apache Pig是一個(gè)用于大型數(shù)據(jù)集分析的平臺(tái),它包含了一個(gè)用于數(shù)據(jù)分析應(yīng)用的高級(jí)語(yǔ)言以及評(píng)估這些應(yīng)用的基礎(chǔ)設(shè)施。Pig應(yīng)用的閃光特性在于它們的結(jié)構(gòu)經(jīng)得起大量的并行,也就是說(shuō)讓它們支撐起非常大的數(shù)據(jù)集。Pig的基礎(chǔ)設(shè)施層包含了產(chǎn)生Map-Reduce任務(wù)的編譯器。Pig的語(yǔ)言層當(dāng)前包含了一個(gè)原生語(yǔ)言——Pig Latin,開(kāi)發(fā)的初衷是易于編程和保證可擴(kuò)展性。
          Pig是SQL-like語(yǔ)言,是在MapReduce上構(gòu)建的一種高級(jí)查詢(xún)語(yǔ)言,把一些運(yùn)算編譯進(jìn)MapReduce模型的Map和Reduce中,并且用戶(hù)可以定義自己的功能。Yahoo網(wǎng)格運(yùn)算部門(mén)開(kāi)發(fā)的又一個(gè)克隆Google的項(xiàng)目Sawzall。
          詳細(xì)可查看:
          pig入門(mén)簡(jiǎn)單操作及語(yǔ)法包括支持?jǐn)?shù)據(jù)類(lèi)型、函數(shù)、關(guān)鍵字、操作符等
          hadoop家族Pig和Hive有什么不同?



          HBase:

          Apache HBase是Hadoop數(shù)據(jù)庫(kù),一個(gè)分布式、可擴(kuò)展的大數(shù)據(jù)存儲(chǔ)。它提供了大數(shù)據(jù)集上隨機(jī)和實(shí)時(shí)的讀/寫(xiě)訪(fǎng)問(wèn),并針對(duì)了商用服務(wù)器集群上的大型表格做出優(yōu)化——上百億行,上千萬(wàn)列。其核心是Google Bigtable論文的開(kāi)源實(shí)現(xiàn),分布式列式存儲(chǔ)。就像Bigtable利用GFS(Google File System)提供的分布式數(shù)據(jù)存儲(chǔ)一樣,它是Apache Hadoop在HDFS基礎(chǔ)上提供的一個(gè)類(lèi)Bigatable。
          詳細(xì)可查看:
          hbase與傳統(tǒng)數(shù)據(jù)的區(qū)別
          HBASE分布式安裝視頻下載分享

          ZooKeeper:

          Zookeeper是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn)。它是一個(gè)針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供的功能包括:配置維護(hù)、名字服務(wù)、 分布式同步、組服務(wù)等。ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡(jiǎn)單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶(hù)。
          詳細(xì)可查看:
          什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具體作用是什么

          Avro:

          Avro是doug cutting主持的RPC項(xiàng)目,有點(diǎn)類(lèi)似Google的protobuf和Facebook的thrift。avro用來(lái)做以后hadoop的RPC,使hadoop的RPC模塊通信速度更快、數(shù)據(jù)結(jié)構(gòu)更緊湊。


          Sqoop:
          Sqoop是一個(gè)用來(lái)將Hadoop和關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù)相互轉(zhuǎn)移的工具,可以將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中數(shù)據(jù)導(dǎo)入Hadoop的HDFS中,也可以將HDFS中數(shù)據(jù)導(dǎo)入關(guān)系型數(shù)據(jù)庫(kù)中。
          詳細(xì)可查看:
          Sqoop詳細(xì)介紹包括:sqoop命令,原理,流程

          Mahout:

          Apache Mahout是個(gè)可擴(kuò)展的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘庫(kù),當(dāng)前Mahout支持主要的4個(gè)用例:
          推薦挖掘:搜集用戶(hù)動(dòng)作并以此給用戶(hù)推薦可能喜歡的事物。
          聚集:收集文件并進(jìn)行相關(guān)文件分組。
          分類(lèi):從現(xiàn)有的分類(lèi)文檔中學(xué)習(xí),尋找文檔中的相似特征,并為無(wú)標(biāo)簽的文檔進(jìn)行正確的歸類(lèi)。
          頻繁項(xiàng)集挖掘:將一組項(xiàng)分組,并識(shí)別哪些個(gè)別項(xiàng)會(huì)經(jīng)常一起出現(xiàn)。


          Cassandra:

          Apache Cassandra是一個(gè)高性能、可線(xiàn)性擴(kuò)展、高有效性數(shù)據(jù)庫(kù),可以運(yùn)行在商用硬件或云基礎(chǔ)設(shè)施上打造完美的任務(wù)關(guān)鍵性數(shù)據(jù)平臺(tái)。在橫跨數(shù)據(jù)中心的復(fù)制中,Cassandra同類(lèi)最佳,為用戶(hù)提供更低的延時(shí)以及更可靠的災(zāi)難備份。通過(guò)log-structured update、反規(guī)范化和物化視圖的強(qiáng)支持以及強(qiáng)大的內(nèi)置緩存,Cassandra的數(shù)據(jù)模型提供了方便的二級(jí)索引(column indexe)。

          Chukwa:

          Apache Chukwa是個(gè)開(kāi)源的數(shù)據(jù)收集系統(tǒng),用以監(jiān)視大型分布系統(tǒng)。建立于HDFS和Map/Reduce框架之上,繼承了Hadoop的可擴(kuò)展性和穩(wěn)定性。Chukwa同樣包含了一個(gè)靈活和強(qiáng)大的工具包,用以顯示、監(jiān)視和分析結(jié)果,以保證數(shù)據(jù)的使用達(dá)到最佳效果。

          Ambari:

          Apache Ambari是一個(gè)基于web的工具,用于配置、管理和監(jiān)視Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同樣還提供了集群狀況儀表盤(pán),比如heatmaps和查看MapReduce、Pig、Hive應(yīng)用程序的能力,以友好的用戶(hù)界面對(duì)它們的性能特性進(jìn)行診斷。



          HCatalog

          Apache HCatalog是Hadoop建立數(shù)據(jù)的映射表和存儲(chǔ)管理服務(wù),它包括:
          提供一個(gè)共享模式和數(shù)據(jù)類(lèi)型機(jī)制。
          提供一個(gè)抽象表,這樣用戶(hù)就不需要關(guān)注數(shù)據(jù)存儲(chǔ)的方式和地址。
          為類(lèi)似Pig、MapReduce及Hive這些數(shù)據(jù)處理工具提供互操作性。

          ------------------------------------------------------------------------------------------------------------------------------------------------

          Chukwa:

          Chukwa是基于Hadoop的大集群監(jiān)控系統(tǒng),由yahoo貢獻(xiàn)。


          ------------------------------------------------------------------------------------------------------------------------------------------------

          Cloudera系列產(chǎn)品:
          創(chuàng)始組織:Cloudera公司
          1.Cloudera Manager:
          有四大功能
          (1)管理
          (2)監(jiān)控
          (3)診斷
          (4)集成
          Cloudera Manager四大功能

          2.Cloudera CDH:英文名稱(chēng):CDH (Cloudera's Distribution, including Apache Hadoop)
          Cloudera對(duì)hadoop做了相應(yīng)的改變。
          Cloudera公司的發(fā)行版,我們將該版本稱(chēng)為CDH(Cloudera Distribution Hadoop)。
          詳細(xì)可以查看
          Cloudera Hadoop什么是CDH及CDH版本介紹
          相關(guān)資料
          CDH3實(shí)戰(zhàn)Hadoop(HDFS) , HBase , Zookeeper , Flume , Hive
          CDH4安裝實(shí)踐HDFS、HBase、Zookeeper、Hive、Oozie、Sqoop
          Hadoop CDH四種安裝方式總結(jié)及實(shí)例指導(dǎo)
          hadoop的CDH4及CDH5系列文檔下載分享


          3.Cloudera Flume
          Flume是Cloudera提供的日志收集系統(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類(lèi)數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);
          Flume是Cloudera提供的一個(gè)高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類(lèi)數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫(xiě)到各種數(shù)據(jù)接受方(可定制)的能力。


          Flume最早是Cloudera提供的日志收集系統(tǒng),目前是Apache下的一個(gè)孵化項(xiàng)目,F(xiàn)lume支持在日志系統(tǒng)中定制各類(lèi)數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫(xiě)到各種數(shù)據(jù)接受方(可定制)的能力 Flume提供了從console(控制臺(tái))、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系統(tǒng),支持TCP和UDP等2種模式),exec(命令執(zhí)行)等數(shù)據(jù)源上收集數(shù)據(jù)的能力。
          Flume采用了多Master的方式。為了保證配置數(shù)據(jù)的一致性,F(xiàn)lume[1]引入了ZooKeeper,用于保存配置數(shù)據(jù),ZooKeeper本身可保證配置數(shù)據(jù)的一致性和高可用,另外,在配置數(shù)據(jù)發(fā)生變化時(shí),ZooKeeper可以通知Flume Master節(jié)點(diǎn)。Flume Master間使用gossip協(xié)議同步數(shù)據(jù)。
          詳細(xì)可查看:
          什么是 flume 日志收集,flume的特性
          什么是 flume 日志收集,flume的原理是什么,flume會(huì)遇到什么問(wèn)題

          4.Cloudera Impala

          Cloudera Impala對(duì)你存儲(chǔ)在Apache Hadoop在HDFS,HBase的數(shù)據(jù)提供直接查詢(xún)互動(dòng)的SQL。除了像Hive使用相同的統(tǒng)一存儲(chǔ)平臺(tái),Impala也使用相同的元數(shù)據(jù),SQL語(yǔ)法(Hive SQL),ODBC驅(qū)動(dòng)程序和用戶(hù)界面(Hue Beeswax)。Impala還提供了一個(gè)熟悉的面向批量或?qū)崟r(shí)查詢(xún)和統(tǒng)一平臺(tái)。
          詳細(xì)可查看:

          什么是impala,如何安裝使用Impala
          5.Cloudera   hue
          Hue是cdh專(zhuān)門(mén)的一套web管理器,它包括3個(gè)部分hue ui,hue server,hue db。hue提供所有的cdh組件的shell界面的接口。你可以在hue編寫(xiě)mr,查看修改hdfs的文件,管理hive的元數(shù)據(jù),運(yùn)行Sqoop,編寫(xiě)Oozie工作流等大量工作。
          詳細(xì)可查看:
          cloudera hue安裝及Oozie的安裝
          什么是Oozie?Oozie簡(jiǎn)介
          Cloudera Hue 使用經(jīng)驗(yàn)分享,遇到的問(wèn)題及解決方案


          ------------------------------------------------------------------------------------------------------------------------------------------------

          Spark

          創(chuàng)始組織:加州大學(xué)伯克利分校 AMP 實(shí)驗(yàn)室 (Algorithms, Machines, and People Lab) 開(kāi)發(fā)


          Spark 是一種與 Hadoop 相似的開(kāi)源集群計(jì)算環(huán)境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負(fù)載方面表現(xiàn)得更加優(yōu)越,換句話(huà)說(shuō),Spark 啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢(xún)外,它還可以?xún)?yōu)化迭代工作負(fù)載。

          Spark 是在 Scala 語(yǔ)言中實(shí)現(xiàn)的,它將 Scala 用作其應(yīng)用程序框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,其中的 Scala 可以像操作本地集合對(duì)象一樣輕松地操作分布式數(shù)據(jù)集。

          盡管創(chuàng)建 Spark 是為了支持分布式數(shù)據(jù)集上的迭代作業(yè),但是實(shí)際上它是對(duì) Hadoop 的補(bǔ)充,可以在 Hadoo 文件系統(tǒng)中并行運(yùn)行。通過(guò)名為 Mesos 的第三方集群框架可以支持此行為。Spark 由加州大學(xué)伯克利分校 AMP 實(shí)驗(yàn)室 (Algorithms, Machines, and People Lab) 開(kāi)發(fā),可用來(lái)構(gòu)建大型的、低延遲的數(shù)據(jù)分析應(yīng)用程序。

          可以詳細(xì)了解
          科普Spark,Spark是什么,如何使用Spark(1)
          科普Spark,Spark核心是什么,如何使用Spark(2)
          優(yōu)酷土豆用Spark完善大數(shù)據(jù)分析
          Hadoop新成員Hadoop-Cloudera公司將Spark加入Hadoop




          Storm

          創(chuàng)始人:Twitter
          Twitter將Storm正式開(kāi)源了,這是一個(gè)分布式的、容錯(cuò)的實(shí)時(shí)計(jì)算系統(tǒng),它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType開(kāi)發(fā)的實(shí)時(shí)處理系統(tǒng),BackType現(xiàn)在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure寫(xiě)的。

          詳細(xì)可以了解:
          storm入門(mén)介紹
          Storm-0.9.0.1安裝部署 指導(dǎo)
          總體認(rèn)識(shí)storm包括概念,場(chǎng)景,組成
          大數(shù)據(jù)架構(gòu)師:hadoop、Storm改選哪一個(gè)?
          大數(shù)據(jù)架構(gòu):flume-ng+Kafka+Storm+HDFS 實(shí)時(shí)系統(tǒng)組合


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 图片| 嘉义市| 自治县| 密云县| 西昌市| 德化县| 萨迦县| 英吉沙县| 嘉善县| 衡南县| 醴陵市| 三台县| 深圳市| 沁阳市| 鄄城县| 信阳市| 抚远县| 朝阳县| 巩留县| 益阳市| 竹山县| 九江市| 清河县| 兴业县| 巴彦淖尔市| 准格尔旗| 石渠县| 温州市| 金川县| 南开区| 崇仁县| 潮安县| 禹州市| 宾川县| 敦化市| 磐安县| 东海县| 潍坊市| 峡江县| 铅山县| 绍兴县|