真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hadoop基礎(chǔ)概念

一、基本概念與模型

達(dá)川網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,達(dá)川網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為達(dá)川超過(guò)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的達(dá)川做網(wǎng)站的公司定做!

1、大數(shù)據(jù)

結(jié)構(gòu)化數(shù)據(jù):有嚴(yán)格定義

半結(jié)構(gòu)化數(shù)據(jù):html、json、xml等,有結(jié)構(gòu)但沒(méi)有約束的文檔

非結(jié)構(gòu)化數(shù)據(jù):沒(méi)有元數(shù)據(jù),比如說(shuō)日志類(lèi)文檔

搜索引擎:ELK,搜索組件、索引組件組成,用來(lái)搜索數(shù)據(jù),保存在分布式存儲(chǔ)中

爬蟲(chóng)程序:搜索的是半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)

需要+高效存儲(chǔ)能力、高效的分析處理平臺(tái)

?

2、Hadoop

Hadoop是用Java語(yǔ)言開(kāi)發(fā)的,是對(duì)谷歌公司這3篇論文開(kāi)發(fā)出來(lái)的山寨版

2003年:The Google File System -->HDFS

2004年:MapReduce:Simplified Data Processing On Large Cluster -->MapReduce

2006年:BigTable:A Distributed Storage System for Structure Data -->Hbase

HDFS+MapReduce=Hadoop

HDFS:Hadoop的分布式文件系統(tǒng),有中心節(jié)點(diǎn)式存儲(chǔ)數(shù)據(jù)

MapReduce:面向大數(shù)據(jù)并行處理的計(jì)算模型、框架和平臺(tái)

HBase:Hadoop的database數(shù)據(jù)庫(kù)

官方網(wǎng)址:hadoop.apache.org

?

二、HDFS

1、HDFS問(wèn)題

存在名稱(chēng)節(jié)點(diǎn):NN:NameNode和第二名稱(chēng)節(jié)點(diǎn)SNN:Secondary NameNode

?????? NN數(shù)據(jù)存儲(chǔ)在內(nèi)存中,由于數(shù)據(jù)在內(nèi)存中變化十分快,硬盤(pán)存儲(chǔ)跟不上內(nèi)存的變化速度,所以通過(guò)類(lèi)似于數(shù)據(jù)庫(kù)事務(wù)日志的機(jī)制,向硬盤(pán)存儲(chǔ)映像文件,在此過(guò)程中 ,追加日志不斷被清空不斷被寫(xiě)入,所以當(dāng)NN服務(wù)器掛了,至少不會(huì)丟失太多文件,但是由于文件元數(shù)據(jù)在宕機(jī)后可能有不統(tǒng)一的情況造成文件校驗(yàn),數(shù)據(jù)量過(guò)大會(huì)花費(fèi)大量時(shí)間。

?????? SNN為輔助名稱(chēng)節(jié)點(diǎn),NN的追加日志放到了共享存儲(chǔ)上,使SNN能訪問(wèn),當(dāng)NN宕機(jī)后,SNN會(huì)可以根據(jù)追加日志及時(shí)啟動(dòng),至少優(yōu)化了只有一個(gè)NN時(shí)候的文件校驗(yàn)時(shí)間。

在Hadoop2或者HBase2版本之后,可以將數(shù)據(jù)共享存放到zookeeper,幾個(gè)節(jié)點(diǎn)通過(guò)zookeeper同時(shí)獲取到視圖,很好的解決了剛才的問(wèn)題,也能夠進(jìn)行高可用設(shè)置了。

2、HDFS數(shù)據(jù)節(jié)點(diǎn)工作原理:

存在數(shù)據(jù)節(jié)點(diǎn):DN:DataNode

?????? 當(dāng)有數(shù)據(jù)存儲(chǔ)時(shí),HDFS文件系統(tǒng)除了存儲(chǔ)DN,會(huì)再尋找兩個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行存儲(chǔ)作為副本,數(shù)據(jù)節(jié)點(diǎn)之間以鏈?zhǔn)较噙B,即有第一份才有第二份,有第二份才有第三份,每次存儲(chǔ)結(jié)束后節(jié)點(diǎn)會(huì)向前數(shù)據(jù)點(diǎn)報(bào)告,向元數(shù)據(jù)塊或者服務(wù)器報(bào)告自己的狀態(tài)和數(shù)據(jù)塊列表。當(dāng)某一點(diǎn)數(shù)據(jù)丟失,此時(shí)鏈?zhǔn)綌?shù)據(jù)會(huì)重新啟動(dòng),補(bǔ)足丟失的數(shù)據(jù)塊。

?

三、MapReduce

1、JobTracker:作業(yè)追蹤器

每一個(gè)負(fù)責(zé)運(yùn)行作業(yè)的節(jié)點(diǎn),在MapReduce里叫任務(wù)追蹤器,TaskTracker

2、每一個(gè)節(jié)點(diǎn)都要運(yùn)行兩類(lèi)進(jìn)程:

DataNode:負(fù)責(zé)存儲(chǔ)或者刪除數(shù)據(jù)等數(shù)據(jù)管理操作

TaskTracker:負(fù)責(zé)完成隊(duì)列處理,屬于Hadoop集群

3、程序特點(diǎn)

傳統(tǒng)程序方案:程序在哪,數(shù)據(jù)就加載在哪

Hadoop方案:數(shù)據(jù)在哪,程序就在哪里跑

4、Hadoop分布式運(yùn)行處理框架

任務(wù)提交可能會(huì)同時(shí)由N個(gè)人提交N個(gè)作業(yè),每個(gè)人的作業(yè)不一定運(yùn)行在所有節(jié)點(diǎn)上,有可能是在一部分節(jié)點(diǎn)上,甚至可能是一個(gè)節(jié)點(diǎn)上,為了能夠限制一個(gè)節(jié)點(diǎn)上不要接入過(guò)多的任務(wù),所以我們通過(guò)task slot,任務(wù)槽,來(lái)確定一個(gè)節(jié)點(diǎn)最多只能運(yùn)行多少份任務(wù)

5、函數(shù)式編程:MapReduce參考了這種運(yùn)行機(jī)制

Lisp,ML函數(shù)式編程語(yǔ)言:高階函數(shù)

map,fold

map:把一個(gè)任務(wù)映射為多個(gè)任務(wù),把一個(gè)函數(shù)當(dāng)作為一個(gè)參數(shù),并將其應(yīng)用于列表中的

所有元素,會(huì)生成一個(gè)結(jié)果列表,即可映射為多個(gè)函數(shù)。

map(f())

fold:不斷地把得到的結(jié)果折疊到函數(shù)上,接收兩個(gè)參數(shù):函數(shù),初始值。

fold(g(),init):首先結(jié)合init初始值,通過(guò)函數(shù)g()得到g(init)的結(jié)果,然后將得到的結(jié)果g(init)在第二輪將作為初始值,通過(guò)函數(shù)g()得到g(g(init))的結(jié)果,以此類(lèi)推最后會(huì)得到一個(gè)最終結(jié)果。

6、MapReduce過(guò)程

<1>mapper:每一個(gè)mapper就是每一個(gè)實(shí)例,每一個(gè)mapper處理完會(huì)生成一個(gè)列表,相當(dāng)于map函數(shù)的過(guò)程,mapper接收數(shù)據(jù)如果是鍵值數(shù)據(jù)則直接使用,如果不是鍵值數(shù)據(jù)會(huì)先轉(zhuǎn)換為鍵值數(shù)據(jù)

<2>reducer:當(dāng)所有mapper運(yùn)行完以后才會(huì)進(jìn)行reducer,相當(dāng)于fold函數(shù)的過(guò)程,reducer可能不止一個(gè),reducer只處理鍵值型數(shù)據(jù),接收到的數(shù)據(jù)做折疊

<3>reducer在折疊后的數(shù)據(jù)依舊是鍵值型數(shù)據(jù),折疊過(guò)程叫做shuttle and sort,此過(guò)程十分重要

?

便于理解:同濟(jì)一本書(shū)每個(gè)單詞出現(xiàn)的次數(shù):

mapper:每100頁(yè)一個(gè)單位,比如說(shuō)5 mappers,用于拆分成為單詞,比如說(shuō)this 1,is 1,this 1,how 1,單詞逐個(gè)拆分,mapper處理后的為k-v型數(shù)據(jù)

reducer:reducer只處理鍵值型數(shù)據(jù),將拆分出來(lái)的單詞傳遞進(jìn)reducer中進(jìn)行統(tǒng)計(jì)處理與排序,將鍵相同的數(shù)據(jù)發(fā)往同一個(gè)reducer中,最后的結(jié)果this 500,is 200等等,結(jié)果依舊為kv型數(shù)據(jù)

shuffle and sort:接收mapper后,reducer將單詞出現(xiàn)的次數(shù)進(jìn)行鍵值數(shù)據(jù)統(tǒng)計(jì)計(jì)算的過(guò)程叫做shuffle and sort

?

7、Hadoop數(shù)據(jù)圖

Hadoop只提供了數(shù)據(jù)存儲(chǔ)平臺(tái),任何作業(yè)、任何數(shù)據(jù)程序處理必須由Hadoop開(kāi)發(fā)人員寫(xiě)MapReduce程序調(diào)用才可供使用,mapper的具體任務(wù)是什么,reducer用什么,都取決于開(kāi)發(fā)人員的定義是什么。

(1)partitioner:分區(qū)器,具備決定將mapper鍵值通過(guò)shuffle and sort過(guò)程發(fā)送給哪個(gè)reducer的功能

Hadoop基礎(chǔ)概念

(2)combiner:如果mapper產(chǎn)生的鍵值數(shù)據(jù)中的鍵相同,那么將合并鍵,否則不合并,分散發(fā)送,同樣由hadoop開(kāi)發(fā)人員開(kāi)發(fā)。其輸入鍵和輸出鍵必須保證一致。

Hadoop基礎(chǔ)概念

(3)多個(gè)reduce時(shí):

Hadoop基礎(chǔ)概念

sort:每一個(gè)map在本地排序叫做sort

(4)單個(gè)reduce時(shí):

Hadoop基礎(chǔ)概念

(5)shuffle and sort階段:

Hadoop基礎(chǔ)概念

(6)作業(yè)提交請(qǐng)求過(guò)程:

Hadoop基礎(chǔ)概念

(7)JobTracker內(nèi)部結(jié)構(gòu)

Hadoop基礎(chǔ)概念

作用:作業(yè)調(diào)度、管理監(jiān)控等等,所以運(yùn)行時(shí)JobTracker會(huì)非常繁忙,它由此也成為了性能瓶頸,不過(guò)在MRv2版本后,作業(yè)調(diào)度、管理和監(jiān)控功能被切割

(8)版本更迭

MRv1(Hadoop2) --> MRv2(Hadoop2)

MRv1:集群資源管理器、數(shù)據(jù)處理程序

MRv2:

YARN:集群資源管理器

MRv2:數(shù)據(jù)處理程序

Tez:執(zhí)行引擎

MR:批處理作業(yè)

RT Stream Graph:實(shí)時(shí)流式圖處理,圖狀算法數(shù)據(jù)結(jié)構(gòu)

Hadoop基礎(chǔ)概念

(9)第二代hadoop資源任務(wù)運(yùn)行流程

Hadoop基礎(chǔ)概念

mapreduce把 資源管理和任務(wù)運(yùn)行二者隔離開(kāi)了,程序運(yùn)行由自己的Application Master負(fù)責(zé),而資源分配由Resource Manager進(jìn)行。所以當(dāng)一個(gè)客戶(hù)端提交一個(gè)任務(wù)時(shí),Resource Manager會(huì)詢(xún)問(wèn)每一個(gè)Node Manager有沒(méi)有空閑的容器來(lái)運(yùn)行程序。如果有,它去找有的這個(gè)節(jié)點(diǎn),來(lái)啟動(dòng)這個(gè)主控進(jìn)程Application Master。然后App Mstr向Resource Manager申請(qǐng)資源任務(wù),Resource Manager分配好資源任務(wù)后會(huì)告訴App Mstr,之后App Mstr可以使用contrainer來(lái)運(yùn)行作業(yè)了。

每一個(gè)container在運(yùn)行過(guò)程中都會(huì)將反饋?zhàn)约旱淖鳂I(yè)任務(wù)給App Mstr,當(dāng)container中有任務(wù)結(jié)束了,App Mstr也會(huì)報(bào)告給Resource Manager,Resource Manager會(huì)將資源收回來(lái)

RM:Resource Manager

NM:Node Manager

AM:Application Manager


新聞標(biāo)題:Hadoop基礎(chǔ)概念
路徑分享:http://weahome.cn/article/jcjsoc.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部