日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

Hadoop概述

Hadoop這個(gè)單詞本身并沒(méi)有什么特殊的含義,而只是其作者Doug Cutting孩子的一個(gè)棕黃色的大象玩具的名字。

Hadoop是一個(gè)高可靠的(reliable),規(guī)模可擴(kuò)展的(scalable),分布式(distributed computing)的開(kāi)源軟件框架。它使我們能用一種簡(jiǎn)單的編程模型來(lái)處理存儲(chǔ)于集群上的大數(shù)據(jù)集。

Hadoop是Apache基金會(huì)的一個(gè)開(kāi)源項(xiàng)目,是一個(gè)提供了分布式存儲(chǔ)和分布式計(jì)算功能的基礎(chǔ)架構(gòu)平臺(tái)。可以應(yīng)用于企業(yè)中的數(shù)據(jù)存儲(chǔ),日志分析,商業(yè)智能,數(shù)據(jù)挖掘等。

hadoop核心組件

1. hadoop包含的模塊:

  • Hadoop common:提供一些通用的功能支持其他hadoop模塊。
  • Hadoop Distributed File System:即分布式文件系統(tǒng),簡(jiǎn)稱HDFS。主要用來(lái)做數(shù)據(jù)存儲(chǔ),并提供對(duì)應(yīng)用數(shù)據(jù)高吞吐量的訪問(wèn)。
  • Hadoop Yarn:用于作業(yè)調(diào)度和集群資源管理的框架。
  • Hadoop MapReduce:基于yarn的,能用來(lái)并行處理大數(shù)據(jù)集的計(jì)算框架。

2. HDFS:

HDFS是谷歌GFS的一個(gè)開(kāi)源實(shí)現(xiàn),具有擴(kuò)展性,容錯(cuò)性,海量數(shù)據(jù)存儲(chǔ)的特點(diǎn):

  • 擴(kuò)展性,主要指很容易就可以在當(dāng)前的集群上增加一臺(tái)或者多臺(tái)機(jī)器,擴(kuò)展計(jì)算資源。
  • 容錯(cuò)性,主要指其多副本的存儲(chǔ)機(jī)制。HDFS將文件切分成固定大小的block(默認(rèn)是128M),并以多副本形式存儲(chǔ)在多臺(tái)機(jī)器上,當(dāng)其中一臺(tái)機(jī)器發(fā)生故障,仍然有其他副本供我們使用。但這個(gè)容錯(cuò)并不是絕對(duì)的,當(dāng)所有節(jié)點(diǎn)都發(fā)生故障,文件就會(huì)丟失,不過(guò)這樣的概率較小。
  • 海量數(shù)據(jù)存儲(chǔ):多臺(tái)機(jī)器構(gòu)成了一個(gè)集群,相對(duì)單機(jī)能存儲(chǔ)更多量的數(shù)據(jù)。這也是Hadoop解決的最主要問(wèn)題之一。

數(shù)據(jù)切分,多副本,容錯(cuò)等機(jī)制都是Hadoop底層已經(jīng)設(shè)計(jì)好的,對(duì)用戶透明,用戶不需要關(guān)系細(xì)節(jié)。只需要按照對(duì)單機(jī)文件的操作方式,就可以進(jìn)行分布式文件的操作。如文件的上傳,查看,下載等。

多副本存儲(chǔ)示例:

Hadoop基礎(chǔ)知識(shí)總結(jié)

 

HDFS多副本存儲(chǔ)示意圖

以part-1為例進(jìn)行說(shuō)明,它被分成三個(gè)block,block_id分別是2,4,5,且副本系數(shù)為3。可以看到在DataNode上,2,4,5都各存儲(chǔ)在了三個(gè)節(jié)點(diǎn)上,這樣當(dāng)其中一個(gè)節(jié)點(diǎn)故障時(shí),仍然能夠保證文件的可用。block_id存在的必要性在于,在用戶需要對(duì)文件進(jìn)行操作時(shí),相應(yīng)的block能夠按順序進(jìn)行“組合”起來(lái)。

3. YARN:

Yarn的全稱是Yet Another Resource Negotiator,負(fù)責(zé)整個(gè)集群資源的管理和調(diào)度。例如對(duì)每個(gè)作業(yè),分配CPU,內(nèi)存等等,都由yarn來(lái)管理。它的特點(diǎn)是擴(kuò)展性,容錯(cuò)性多框架資源統(tǒng)一調(diào)度。

擴(kuò)展性和HDFS的擴(kuò)展性類似,yarn也很容易擴(kuò)展其計(jì)算資源。

容錯(cuò)性,主要是指當(dāng)某個(gè)任務(wù)出現(xiàn)異常,yarn會(huì)對(duì)其進(jìn)行一定次數(shù)的重試。

多框架資源統(tǒng)一調(diào)度,這個(gè)是相對(duì)于hadoop1.0版本的一個(gè)優(yōu)勢(shì)。區(qū)別于hadoop1.0只支持MapReduce作業(yè)。而yarn之上可以運(yùn)行不同類型的作業(yè)。如下圖所示,很多應(yīng)用都可以運(yùn)行在yarn之上,由yarn統(tǒng)一進(jìn)行調(diào)度。

Hadoop基礎(chǔ)知識(shí)總結(jié)

 

運(yùn)行在YARN上的多種應(yīng)用

4. mapreduce:

是一個(gè)分布式計(jì)算框架,是googleMapReduce的克隆版。和HDFS、Yarn類似,也具有擴(kuò)展性容錯(cuò)性的特點(diǎn),還將具有海量數(shù)據(jù)離線處理的特點(diǎn):能夠處理的數(shù)據(jù)量大,但并不是實(shí)時(shí)處理,具有較大的延時(shí)性。

Hadoop基礎(chǔ)知識(shí)總結(jié)

 

MapReduce計(jì)算過(guò)程示意圖

wordCount的MapReduce流程如圖所示,主要分為Map和Reduce兩個(gè)過(guò)程。Map階段做映射,對(duì)所有輸入的單詞賦值為1,Reduce階段做匯總,相同的單詞分發(fā)到一個(gè)節(jié)點(diǎn)上并進(jìn)行求和,最終就可以統(tǒng)計(jì)出單詞的個(gè)數(shù)。

hadoop的優(yōu)勢(shì)

hadoop的優(yōu)勢(shì)主要體現(xiàn)在高可靠性,高擴(kuò)展性等方面。

高可靠性是指多副本的存儲(chǔ)機(jī)制和失敗作業(yè)的重新調(diào)度計(jì)算。

高擴(kuò)展性是指資源不夠時(shí)很容易直接擴(kuò)展機(jī)器。一個(gè)集群可以包含數(shù)以千計(jì)的節(jié)點(diǎn)。

其他優(yōu)勢(shì)還表現(xiàn)在:hadoop完全可以部署在普通廉價(jià)的機(jī)器上,成本低。同時(shí)它具有成熟的生態(tài)圈和開(kāi)源社區(qū)。

狹義hadoop VS 廣義hadoop:

狹義hadoop:指一個(gè)用于大數(shù)據(jù)分布式存儲(chǔ)(HDFS),分布式計(jì)算(MapReduce)和資源調(diào)度(YARN)的平臺(tái),這三樣只能用來(lái)做離線批處理,不能用于實(shí)時(shí)處理,因此才需要生態(tài)系統(tǒng)的其他的組件。

廣義的hadoop:指的是hadoop的生態(tài)系統(tǒng),即其他各種組件在內(nèi)的一整套軟件。hadoop生態(tài)系統(tǒng)是一個(gè)很龐大的概念,hadoop只是其中最重要最基礎(chǔ)的部分,生態(tài)系統(tǒng)的每一個(gè)子系統(tǒng)只結(jié)局的某一個(gè)特定的問(wèn)題域。不是一個(gè)全能系統(tǒng),而是多個(gè)小而精的系統(tǒng)。

hadoop生態(tài)系統(tǒng)

Hadoop基礎(chǔ)知識(shí)總結(jié)

 

hadoop生態(tài)系統(tǒng)

上圖是hadoop生態(tài)系統(tǒng)的一個(gè)構(gòu)成。HDFS是基礎(chǔ)的文件系統(tǒng),用來(lái)存儲(chǔ)數(shù)據(jù),多副本,高容錯(cuò)。MapReduce用來(lái)進(jìn)行并行計(jì)算,它運(yùn)行在Yarn之上。這是前文提到過(guò)的三大核心組件,下面我們簡(jiǎn)要介紹圖中的其他部分。

由于MapReduce的學(xué)習(xí)成本相對(duì)較高,這樣就誕生了一些其他框架。

Hive 處理的是海量結(jié)構(gòu)化日志數(shù)據(jù)的統(tǒng)計(jì)問(wèn)題。它定義了一種類似SQL的語(yǔ)言Hive QL,借助于hive引擎能將其轉(zhuǎn)換為MapReduce作業(yè)并提交到集群上進(jìn)行運(yùn)算。hive適用于離線處理。相比之下,SQL的門(mén)檻就低得多

Mahout是一個(gè)機(jī)器學(xué)習(xí)算法庫(kù),實(shí)現(xiàn)了很多數(shù)據(jù)挖掘的經(jīng)典算法,幫助用戶很方便地創(chuàng)建應(yīng)用程序。

Pig可以將腳本任務(wù)轉(zhuǎn)換為MapReduce作業(yè),同樣是適用于離線分析。

Oozie是一個(gè)工作流調(diào)度引擎,用來(lái)處理具有依賴關(guān)系的作業(yè)調(diào)度。類似的框架有Azkaban,airflow等。

Zookeeper:分布式協(xié)調(diào)服務(wù),“動(dòng)物園管理員”角色,是一個(gè)對(duì)集群服務(wù)進(jìn)行管理的框架,如維護(hù)故障切換等。

Flume:日志收集框架。將多種應(yīng)用服務(wù)器上的日志,統(tǒng)一收集到HDFS上,這樣就可以使用hadoop進(jìn)行處理

Sqoop:提供關(guān)系型數(shù)據(jù)庫(kù)與HDFS數(shù)據(jù)相互傳輸?shù)墓δ堋?/p>

Hbase:面向列存儲(chǔ)的數(shù)據(jù)庫(kù)。適用于實(shí)時(shí)快速查詢的場(chǎng)景。

除此之外,還有spark,kafka,flink,redis等新興的一些實(shí)用框架。

Hadoop生態(tài)系統(tǒng)的特點(diǎn):

  • 開(kāi)源,社區(qū)高活躍
  • 開(kāi)源意味著源碼可獲取,可以直接基于源碼進(jìn)行改造實(shí)現(xiàn)個(gè)性化需求。社區(qū)活躍高意味著迭代更新快,維護(hù)的人多。
  • 囊括了大數(shù)據(jù)處理的方方面面
  • 具有成熟的生態(tài)圈。

hadoop發(fā)行版本的選擇

  • Apache hadoop:解決了單個(gè)框架的額問(wèn)題,綜合起來(lái)使用會(huì)有jar包沖突,不適合于生產(chǎn)環(huán)境。
  • CDH:Cloudera Distributed Hadoop。商業(yè)版本。使用Cloudera Manager對(duì)集群進(jìn)行管理,通過(guò)瀏覽器,不需要通過(guò)linux就可以安裝,與spark結(jié)合的很好。沒(méi)有jar包沖突的問(wèn)題。但Cloudera Manager不開(kāi)源,企業(yè)版收費(fèi)。
  • CDH的下載地址:http://archive.cloudera.com/cdh5/cdh/5/
  • HDP:Hortonworks Data Platform。商業(yè)版本之一,使用Ambari進(jìn)行統(tǒng)一管理,對(duì)服務(wù)的用戶收費(fèi)。

總結(jié)

Hadoop基礎(chǔ)知識(shí)總結(jié)

 

關(guān)于Hadoop概述的知識(shí)就講解到這里。

分享到:
標(biāo)簽:Hadoop
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定