{eval=Array;=+count(Array);}
Apache?Hadoop?項目開發(fā)了用于可靠,可擴展的分布式計算的開源軟件。
Apache Hadoop軟件庫是一個框架,該框架允許使用簡單的編程模型跨計算機集群對大型數(shù)據(jù)集進行分布式處理。 它旨在從單個服務(wù)器擴展到數(shù)千臺機器,每臺機器都提供本地計算和存儲。 庫本身不是設(shè)計用來依靠硬件來提供高可用性,而是設(shè)計為在應(yīng)用程序?qū)訖z測和處理故障,因此可以在計算機集群的頂部提供高可用性服務(wù),而每臺計算機都容易出現(xiàn)故障。
1、hadoop1.0時期架構(gòu)
2、hadoop2.0時期架構(gòu)
3、hdfs架構(gòu)
Active Namenode
主 Master(只有一個),管理 HDFS 的名稱空間,管理數(shù)據(jù)塊映射信息;配置副本策略;處理客戶端讀寫請求
Secondary NameNode
NameNode 的熱備;定期合并 fsimage 和 fsedits,推送給 NameNode;當(dāng) Active NameNode 出現(xiàn)故障時,快速切換為新的 Active NameNode。
Datanode
Slave(有多個);存儲實際的數(shù)據(jù)塊;執(zhí)行數(shù)據(jù)塊讀 / 寫
Client
與 NameNode 交互,獲取文件位置信息;與 DataNode 交互,讀取或者寫入數(shù)據(jù);管理 HDFS、訪問 HDFS。
4、MapReduce
源自于 Google 的 MapReduce 論文
發(fā)表于 2004 年 12 月
Hadoop MapReduce 是 Google MapReduce 克隆版
MapReduce特點
良好的擴展性
高容錯性
適合 PB 級以上海量數(shù)據(jù)的離線處理
5、yarn架構(gòu)
6、hadoop1.0與hadoop2.0比較圖
7、Hive(基于MR的數(shù)據(jù)倉庫)
由Facebook開源,最初用于海量結(jié)構(gòu)化日志數(shù)據(jù)統(tǒng)計;ETL(Extraction-Transformation-Loading)工具構(gòu)建在Hadoop之上的數(shù)據(jù)倉庫;數(shù)據(jù)計算使用 MapReduce,數(shù)據(jù)存儲使用HDFS
Hive 定義了一種類 SQL 查詢語言——HQL
類似SQL,但不完全相同
通常用于進行離線數(shù)據(jù)處理(采用 MapReduce);可認為是一個 HQL→MR 的語言翻譯器
8、Hbase(分布式數(shù)據(jù)庫)
源自 Google 的 Bigtable 論文
發(fā)表于 2006 年 11 月
Hbase 是 Google Bigtable 克隆版
Apache Spark是用于大規(guī)模數(shù)據(jù)處理的統(tǒng)一分析引擎。 它提供Java,Scala,Python和R中的高級API,以及支持常規(guī)執(zhí)行圖的優(yōu)化引擎。 它還支持豐富的高級工具集,包括用于SQL和結(jié)構(gòu)化數(shù)據(jù)處理的Spark SQL,用于機器學(xué)習(xí)的MLlib,用于圖形處理的GraphX和用于增量計算和流處理的結(jié)構(gòu)化流。
速度
運行工作負載的速度提高了100倍。
Apache Spark使用最新的DAG調(diào)度程序,查詢優(yōu)化器和物理執(zhí)行引擎,為批處理數(shù)據(jù)和流數(shù)據(jù)提供了高性能。
使用方便
使用Java,Scala,Python,R和SQL快速編寫應(yīng)用程序。
Spark提供了80多個高級操作員,可輕松構(gòu)建并行應(yīng)用程序。 您可以從Scala,Python,R和SQL Shell交互使用它。
通用
結(jié)合使用SQL,流和復(fù)雜的分析。
Spark為包括SQL和DataFrames,用于機器學(xué)習(xí)的MLlib,GraphX和Spark Streaming在內(nèi)的一堆庫提供支持。 您可以在同一應(yīng)用程序中無縫組合這些庫。
無處不在
Spark可在Hadoop,Apache Mesos,Kubernetes,獨立或云中運行。 它可以訪問各種數(shù)據(jù)源。
您可以在EC2,Hadoop YARN,Mesos或Kubernetes上使用其獨立集群模式運行Spark。 訪問HDFS,Alluxio,Apache Cassandra,Apache HBase,Apache Hive和數(shù)百種其他數(shù)據(jù)源中的數(shù)據(jù)。
1)hadoop簡介
Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。 Hadoop實現(xiàn)了一個分布式文件系統(tǒng)HDFS。HDFS有高容錯性的特點,并且設(shè)計用來部署在低廉的硬件上;而且它提供高吞吐量來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應(yīng)用程序。Hadoop的框架最核心的設(shè)計就是:HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存儲,而MapReduce則為海量的數(shù)據(jù)提供了計算
2)hadoop優(yōu)點
Hadoop 以一種可靠、高效、可伸縮的方式進行數(shù)據(jù)處理。
可靠性: Hadoop將數(shù)據(jù)存儲在多個備份,Hadoop提供高吞吐量來訪問應(yīng)用程序的數(shù)據(jù)。
高擴展性: Hadoop是在可用的計算機集簇間分配數(shù)據(jù)并完成計算任務(wù)的,這些集簇可以方便地擴展到數(shù)以千計的節(jié)點中。
高效性: Hadoop以并行的方式工作,通過并行處理加快處理速度。
高容錯性: Hadoop能夠自動保存數(shù)據(jù)的多個副本,并且能夠自動將失敗的任務(wù)重新分配。
低成本: Hadoop能夠部署在低廉的(low-cost)硬件上。
1)spark簡介
Spark 是專為大規(guī)模數(shù)據(jù)處理而設(shè)計的快速通用的計算引擎。Spark擁有Hadoop MapReduce所具有的優(yōu)點,Spark在Job中間輸出結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫HDFS,因此Spark性能以及運算速度高于MapReduce。
2)spark優(yōu)點
計算速度快: 因為spark從磁盤中讀取數(shù)據(jù),把中間數(shù)據(jù)放到內(nèi)存中,,完成所有必須的分析處理,將結(jié)果寫回集群,所以spark更快。
Spark 提供了大量的庫: 包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。
支持多種資源管理器: Spark 支持 Hadoop YARN,及其自帶的獨立集群管理器
操作簡單: 高級 API 剝離了對集群本身的關(guān)注,Spark 應(yīng)用開發(fā)者可以專注于應(yīng)用所要做的計算本身
1)應(yīng)用場景不同
Hadoop和Spark兩者都是大數(shù)據(jù)框架,但是各自應(yīng)用場景是不同的。Hadoop是一個分布式數(shù)據(jù)存儲架構(gòu),它將巨大的數(shù)據(jù)集分派到一個由普通計算機組成的集群中的多個節(jié)點進行存儲,降低了硬件的成本。Spark是那么一個專門用來對那些分布式存儲的大數(shù)據(jù)進行處理的工具,它要借助hdfs的數(shù)據(jù)存儲。
2)處理速度不同
hadoop的MapReduce是分步對數(shù)據(jù)進行處理的,從磁盤中讀取數(shù)據(jù),進行一次處理,將結(jié)果寫到磁盤,然后在從磁盤中讀取更新后的數(shù)據(jù),再次進行的處理,最后再將結(jié)果存入磁盤,這存取磁盤的過程會影響處理速度。spark從磁盤中讀取數(shù)據(jù),把中間數(shù)據(jù)放到內(nèi)存中,,完成所有必須的分析處理,將結(jié)果寫回集群,所以spark更快。
3)容錯性不同
Hadoop將每次處理后的數(shù)據(jù)都寫入到磁盤上,基本談不上斷電或者出錯數(shù)據(jù)丟失的情況。Spark的數(shù)據(jù)對象存儲在彈性分布式數(shù)據(jù)集 RDD,RDD是分布在一組節(jié)點中的只讀對象集合,如果數(shù)據(jù)集一部分丟失,則可以根據(jù)于數(shù)據(jù)衍生過程對它們進行重建。而且RDD 計算時可以通過 CheckPoint 來實現(xiàn)容錯。
Hadoop提供分布式數(shù)據(jù)存儲功能HDFS,還提供了用于數(shù)據(jù)處理的MapReduce。 MapReduce是可以不依靠spark數(shù)據(jù)的處理的。當(dāng)然spark也可以不依靠HDFS進行運作,它可以依靠其它的分布式文件系統(tǒng)。但是兩者完全可以結(jié)合在一起,hadoop提供分布式 集群和分布式 文件系統(tǒng),spark可以依附在hadoop的HDFS代替MapReduce彌補MapReduce計算能力不足的問題。
總結(jié)一句話:spark在hadoop肩膀上可以讓大數(shù)據(jù)跑的更快
早期Hadoop指的hdfs+mapreduce,后來衍生為整個大數(shù)據(jù)生態(tài)。
大數(shù)據(jù)生態(tài)從底層往上是分布式文件存儲,分布式數(shù)據(jù)庫,分布式計算(實時+離線),檢索,資源管理,任務(wù)調(diào)度,以及周邊工具。
從上可以看出,spark只是Hadoop生態(tài)中的一個小分支。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答9
回答