hadoop生態圈
⑴ Hadoop,Hive,Spark 之間是什麼關系
Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。Hadoop也是apache開源大數據的一個生態圈總稱,裡麵包含跟大數據開源框架的一些軟體,包含hdfs,hive,zookeeper,hbase等等;Hadoop的框架最核心的設計就是:HDFS和MapRece。HDFS為海量的數據提供了存儲,則MapRece為海量的數據提供了計算。
Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapRece任務進行運行。 其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapRece統計,不必開發專門的MapRece應用,十分適合數據倉庫的統計分析。
Spark 是一種與 Hadoop 相似的開源集群計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了內存分布數據集,除了能夠提供互動式查詢外,它還可以優化迭代工作負載。
盡管創建 Spark 是為了支持分布式數據集上的迭代作業,但是實際上它是對 Hadoop 的補充,可以在 Hadoop 文件系統中並行運行。通過名為 Mesos 的第三方集群框架可以支持此行為。
hadoop(hive)<-spark(擴展)
⑵ hadoop是怎麼存儲大數據的
Hadoop本身是分布式框架,如果在hadoop框架下,需要配合hbase,hive等工具來進行大數據計算。如果具體深入還要了解HDFS,Map/Rece,任務機制等等。如果要分析還要考慮其他分析展現工具。
大數據還有分析才有價值
用於分析大數據的工具主要有開源與商用兩個生態圈。開源大數據生態圈:1、Hadoop HDFS、HadoopMapRece, HBase、Hive 漸次誕生,早期Hadoop生態圈逐步形成。2、. Hypertable是另類。它存在於Hadoop生態圈之外,但也曾經有一些用戶。3、NoSQL,membase、MongoDb商用大數據生態圈:1、一體機資料庫/數據倉庫:IBM PureData(Netezza), OracleExadata, SAP Hana等等。2、數據倉庫:TeradataAsterData, EMC GreenPlum, HPVertica 等等。3、數據集市:QlikView、 Tableau 、 以及國內的Yonghong Data Mart 。
⑶ hadoop生態圈包含哪些系統
hadoop生態圈有:hdfs,hbase,hive,mr,zookeeper,yarn等東西~都是運行hadoop集群都應該有的。
⑷ hadoop生態圈有哪些分區
覆蓋的范圍和闡述的問題不同。白酒金三角是一個區域化的產業概念,輻射的區域包含四川省絕大多數酒企,而且還覆蓋著貴州的一塊區域。四重生態圈呢,則是講述的生態區域的概念,突出生態環境。比如四重生態圈所指出的大生態圈-四川省生態環境;亞生態圈-射洪縣生態環境;小生態圈-沱牌鎮生態環境;微生態圈-沱牌捨得生態釀酒工業園。
⑸ Docker生態會重蹈Hadoop的覆轍嗎
昨天的一篇《Docker生態會重蹈Hadoop的覆轍嗎?》刷屏微信朋友圈,文章從以下幾個部分闡釋Docker生態究竟會不會重蹈Hadoop的覆轍:
Docker的興起和Hadoop何其相似大數據從狂熱走向了理性Hadoop生態圈的演進Docker的生態圈Docker公司的戰略野心受生態圈狙擊Docker生態圈的演進開源技術也需要商業的成功Docker生態圈的推論
給准備Docker嘗鮮的客戶的建議
一石激起千層浪,一時間大贊特贊者有之,認為其為標題黨,吸引眼球者也有之,那麼到底Docker生態究竟會不會重蹈Hadoop的覆轍呢?
客觀來說,筆者的感覺,Docker這幾年在國內的炒作確實有些過頭,比如Docker向下取代虛擬化,Docker向上取代PaaS之類,幾乎成了雲計算的唯一技術,這種論調一直充斥各種Meetup/論壇。當然這裡面有不少的商業因素,反觀國外,大多數開發者的態度相對理性。
文章作者指出:Docker的生態圈和Hadoop的生態圈非常的相似,比如:Docker的生態圈也是分為兩大類,第一類就是Mesosphere\Google這類做Docker的企業運行集群管理,類似於Hadoop的發行版的廠商;第二類是做Docker的項目實施或是做Docker開發者公有雲,類似於Hadoop的項目實施廠商。
⑹ Hadoop的應用領域有哪些
Hadoop本身是一個生態圈. 整個生態圈裡包含了底層的分布式存儲HDFS, 計算框架Maprece, 集群調度管理工具Zookeeper,集群資源管理工具YARN, 分布式資料庫HBASE等等. 我拿淘寶的店鋪淘生意舉一個例子吧, 可能不是那麼准確:
比如一個店鋪一天有10萬的訪客量, 你想分析的諸如這些訪客來自哪裡,性別,年齡,訪問過什麼商品,買過什麼商品等等都會在訪問網站的時候留下相關的痕跡文件(簡稱日誌),比如這些文件一天就有1TB,那麼你怎麼存大文件?一個客戶可能對應的特性就有上萬條,你怎麼在資料庫里存大表,又怎麼分析用戶特性?這些都依賴於Hadoop的框架.
現在假設你有一個10台機器的集群:
HDFS:可以將你每天生成的1TB文件拆分存儲在這個集群內. Zookeeper可以監控你的文件系統以及其他主從框架的服務是否正常在線. YARN則可在集群內協調你的CPU/內存資源,當有任務的時候可以合理分配資源進行計算,Maprece則是執行分析計算的基本框架,HBASE則可以將你分析後的數據保存在整個分布式集群內. 以供其它應用來進行進一步的分析展示. 其它的Spark/Storm/HIVE/Impala/cassandra 等等在這就不說了.
總之,涉及超大數據進行存儲分析等領域,都是以Hadoop為基本框架的,至少底層都是HDFS 純手打,忘採納.
⑺ 什麼是Hadoop生態圈
1. hadoop 生態概況
Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。
用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。
具有可靠、高效、可伸縮的特點。
Hadoop的核心是YARN,HDFS和Maprece
下圖是hadoop生態系統,集成spark生態圈。在未來一段時間內,hadoop將於spark共存,hadoop與spark
都能部署在yarn、mesos的資源管理系統之上
下面將分別對以上各組件進行簡要介紹,具體介紹參見後續系列博文。
2、HDFS(Hadoop分布式文件系統)
源自於Google的GFS論文,發表於2003年10月,HDFS是GFS克隆版。
HDFS是Hadoop體系中數據存儲管理的基礎。它是一個高度容錯的系統,能檢測和應對硬體故障,用於在低成本的通用硬體上運行。
HDFS簡化了文件的一致性模型,通過流式數據訪問,提供高吞吐量應用程序數據訪問功能,適合帶有大型數據集的應用程序。
它提供了一次寫入多次讀取的機制,數據以塊的形式,同時分布在集群不同物理機器上。
3、Maprece(分布式計算框架)
源自於google的MapRece論文,發表於2004年12月,Hadoop MapRece是google MapRece 克隆版。
MapRece是一種分布式計算模型,用以進行大數據量的計算。它屏蔽了分布式計算框架細節,將計算抽象成map和rece兩部分,
其中Map對數據集上的獨立元素進行指定的操作,生成鍵-值對形式中間結果。Rece則對中間結果中相同「鍵」的所有「值」進行規約,以得到最終結果。
MapRece非常適合在大量計算機組成的分布式並行環境里進行數據處理。
4.HBASE(分布式列存資料庫)
源自Google的Bigtable論文,發表於2006年11月,HBase是Google Bigtable克隆版
HBase是一個建立在HDFS之上,面向列的針對結構化數據的可伸縮、高可靠、高性能、分布式和面向列的動態模式資料庫。
HBase採用了BigTable的數據模型:增強的稀疏排序映射表(Key/Value),其中,鍵由行關鍵字、列關鍵字和時間戳構成。
HBase提供了對大規模數據的隨機、實時讀寫訪問,同時,HBase中保存的數據可以使用MapRece來處理,它將數據存儲和並行計算完美地結合在一起。
5.Zookeeper(分布式協作服務)
源自Google的Chubby論文,發表於2006年11月,Zookeeper是Chubby克隆版
解決分布式環境下的數據管理問題:統一命名,狀態同步,集群管理,配置同步等。
Hadoop的許多組件依賴於Zookeeper,它運行在計算機集群上面,用於管理Hadoop操作。
6.HIVE(數據倉庫)
由facebook開源,最初用於解決海量結構化的日誌數據統計問題。
Hive定義了一種類似SQL的查詢語言(HQL),將SQL轉化為MapRece任務在Hadoop上執行。通常用於離線分析。
HQL用於運行存儲在Hadoop上的查詢語句,Hive讓不熟悉MapRece開發人員也能編寫數據查詢語句,然後這些語句被翻譯為Hadoop上面的MapRece任務。
7.Pig(ad-hoc腳本)
由yahoo!開源,設計動機是提供一種基於MapRece的ad-hoc(計算在query時發生)數據分析工具
Pig定義了一種數據流語言—Pig Latin,它是MapRece編程的復雜性的抽象,Pig平台包括運行環境和用於分析Hadoop數據集的腳本語言(Pig Latin)。
其編譯器將Pig Latin翻譯成MapRece程序序列將腳本轉換為MapRece任務在Hadoop上執行。通常用於進行離線分析。
8.Sqoop(數據ETL/同步工具)
Sqoop是SQL-to-Hadoop的縮寫,主要用於傳統資料庫和Hadoop之前傳輸數據。數據的導入和導出本質上是Maprece程序,充分利用了MR的並行化和容錯性。
Sqoop利用資料庫技術描述數據架構,用於在關系資料庫、數據倉庫和Hadoop之間轉移數據。
9.Flume(日誌收集工具)
Cloudera開源的日誌收集系統,具有分布式、高可靠、高容錯、易於定製和擴展的特點。
它將數據從產生、傳輸、處理並最終寫入目標的路徑的過程抽象為數據流,在具體的數據流中,數據源支持在Flume中定製數據發送方,從而支持收集各種不同協議數據。
同時,Flume數據流提供對日誌數據進行簡單處理的能力,如過濾、格式轉換等。此外,Flume還具有能夠將日誌寫往各種數據目標(可定製)的能力。
總的來說,Flume是一個可擴展、適合復雜環境的海量日誌收集系統。當然也可以用於收集其他類型數據
10.Mahout(數據挖掘演算法庫)
Mahout起源於2008年,最初是Apache Lucent的子項目,它在極短的時間內取得了長足的發展,現在是Apache的頂級項目。
Mahout的主要目標是創建一些可擴展的機器學習領域經典演算法的實現,旨在幫助開發人員更加方便快捷地創建智能應用程序。
Mahout現在已經包含了聚類、分類、推薦引擎(協同過濾)和頻繁集挖掘等廣泛使用的數據挖掘方法。
除了演算法,Mahout還包含數據的輸入/輸出工具、與其他存儲系統(如資料庫、MongoDB 或Cassandra)集成等數據挖掘支持架構。
11.Oozie(工作流調度器)
Oozie是一個可擴展的工作體系,集成於Hadoop的堆棧,用於協調多個MapRece作業的執行。它能夠管理一個復雜的系統,基於外部事件來執行,外部事件包括數據的定時和數據的出現。
Oozie工作流是放置在控制依賴DAG(有向無環圖 Direct Acyclic Graph)中的一組動作(例如,Hadoop的Map/Rece作業、Pig作業等),其中指定了動作執行的順序。
Oozie使用hPDL(一種XML流程定義語言)來描述這個圖。
12.Yarn(分布式資源管理器)
YARN是下一代MapRece,即MRv2,是在第一代MapRece基礎上演變而來的,主要是為了解決原始Hadoop擴展性較差,不支持多計算框架而提出的。
Yarn是下一代 Hadoop 計算平台,yarn是一個通用的運行時框架,用戶可以編寫自己的計算框架,在該運行環境中運行。
用於自己編寫的框架作為客戶端的一個lib,在運用提交作業時打包即可。該框架為提供了以下幾個組件:
- 資源管理:包括應用程序管理和機器資源管理
- 資源雙層調度
- 容錯性:各個組件均有考慮容錯性
- 擴展性:可擴展到上萬個節點
13.Mesos(分布式資源管理器)
Mesos誕生於UC Berkeley的一個研究項目,現已成為Apache項目,當前有一些公司使用Mesos管理集群資源,比如Twitter。
與yarn類似,Mesos是一個資源統一管理和調度的平台,同樣支持比如MR、steaming等多種運算框架。
14.Tachyon(分布式內存文件系統)
Tachyon(/'tæki:ˌɒn/ 意為超光速粒子)是以內存為中心的分布式文件系統,擁有高性能和容錯能力,
能夠為集群框架(如Spark、MapRece)提供可靠的內存級速度的文件共享服務。
Tachyon誕生於UC Berkeley的AMPLab。
15.Tez(DAG計算模型)
Tez是Apache最新開源的支持DAG作業的計算框架,它直接源於MapRece框架,核心思想是將Map和Rece兩個操作進一步拆分,
即Map被拆分成Input、Processor、Sort、Merge和Output, Rece被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,
這樣,這些分解後的元操作可以任意靈活組合,產生新的操作,這些操作經過一些控製程序組裝後,可形成一個大的DAG作業。
目前hive支持mr、tez計算模型,tez能完美二進制mr程序,提升運算性能。
16.Spark(內存DAG計算模型)
Spark是一個Apache項目,它被標榜為「快如閃電的集群計算」。它擁有一個繁榮的開源社區,並且是目前最活躍的Apache項目。
最早Spark是UC Berkeley AMP lab所開源的類Hadoop MapRece的通用的並行計算框架。
Spark提供了一個更快、更通用的數據處理平台。和Hadoop相比,Spark可以讓你的程序在內存中運行時速度提升100倍,或者在磁碟上運行時速度提升10倍
17.Giraph(圖計算模型)
Apache Giraph是一個可伸縮的分布式迭代圖處理系統, 基於Hadoop平台,靈感來自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
最早出自雅虎。雅虎在開發Giraph時採用了Google工程師2010年發表的論文《Pregel:大規模圖表處理系統》中的原理。後來,雅虎將Giraph捐贈給Apache軟體基金會。
目前所有人都可以下載Giraph,它已經成為Apache軟體基金會的開源項目,並得到Facebook的支持,獲得多方面的改進。
18.GraphX(圖計算模型)
Spark GraphX最先是伯克利AMPLAB的一個分布式圖計算框架項目,目前整合在spark運行框架中,為其提供BSP大規模並行圖計算能力。
19.MLib(機器學習庫)
Spark MLlib是一個機器學習庫,它提供了各種各樣的演算法,這些演算法用來在集群上針對分類、回歸、聚類、協同過濾等。
20.Streaming(流計算模型)
Spark Streaming支持對流數據的實時處理,以微批的方式對實時數據進行計算
21.Kafka(分布式消息隊列)
Kafka是Linkedin於2010年12月份開源的消息系統,它主要用於處理活躍的流式數據。
活躍的流式數據在web網站應用中非常常見,這些數據包括網站的pv、用戶訪問了什麼內容,搜索了什麼內容等。
這些數據通常以日誌的形式記錄下來,然後每隔一段時間進行一次統計處理。
22.Phoenix(hbase sql介面)
Apache Phoenix 是HBase的SQL驅動,Phoenix 使得Hbase 支持通過JDBC的方式進行訪問,並將你的SQL查詢轉換成Hbase的掃描和相應的動作。
23.ranger(安全管理工具)
Apache ranger是一個hadoop集群許可權框架,提供操作、監控、管理復雜的數據許可權,它提供一個集中的管理機制,管理基於yarn的hadoop生態圈的所有數據許可權。
24.knox(hadoop安全網關)
Apache knox是一個訪問hadoop集群的restapi網關,它為所有rest訪問提供了一個簡單的訪問介面點,能完成3A認證(Authentication,Authorization,Auditing)和SSO(單點登錄)等
25.falcon(數據生命周期管理工具)
Apache Falcon 是一個面向Hadoop的、新的數據處理和管理平台,設計用於數據移動、數據管道協調、生命周期管理和數據發現。它使終端用戶可以快速地將他們的數據及其相關的處理和管理任務「上載(onboard)」到Hadoop集群。
26.Ambari(安裝部署配置管理工具)
Apache Ambari 的作用來說,就是創建、管理、監視 Hadoop 的集群,是為了讓 Hadoop 以及相關的大數據軟體更容易使用的一個web工具。