




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
全套可編輯PPT課件完整全套教學(xué)課件-基于新信息技術(shù)的Hadoop大數(shù)據(jù)技術(shù)項(xiàng)目1
Linux系統(tǒng)概述項(xiàng)目2
Hadoop技術(shù)概述項(xiàng)目4
Zookeeper分布式協(xié)調(diào)服務(wù)項(xiàng)目5搭建HDFS分布式集群項(xiàng)目6搭建YARN
分布式集群項(xiàng)目7
Hadoop
分布式計(jì)算框架(MapReduce)項(xiàng)目8
Hive的安裝部署項(xiàng)目10
HBase集群安裝配置項(xiàng)目11
Sqoop
安裝部署項(xiàng)目12
Flume的安裝與使用項(xiàng)目13
Kafka分布式集群搭建項(xiàng)目14
Davinci安裝部署ras123J8A73911dlinux系統(tǒng)概述1.1.1
linux操作系統(tǒng)的特點(diǎn)Linux
,
全稱GNU/Linux
,是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),其內(nèi)核由林納斯·本納第克特托瓦茲于1991年10月5日首次發(fā)布,它主要受到Minix和Unix思想的啟發(fā),是一個(gè)基
于POSIX
的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運(yùn)行主要的Unix
工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位
和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是
一
個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。Linux有上百種不同的發(fā)行版,如基于社區(qū)開(kāi)發(fā)的debian、archlinux,和基于商業(yè)開(kāi)發(fā)的RedHatEnterpriseLinux、SUSE、Oracle
Linux等。Linux
操作系統(tǒng)的特點(diǎn)有:良好的用戶界面、可移植性、全面支持網(wǎng)絡(luò)協(xié)議、支持多任務(wù)及多用戶、免費(fèi)及源代碼開(kāi)放、可靠的安全性。0Z
318A759linux系統(tǒng)概述1
.1.1
linux操作系統(tǒng)的特點(diǎn)【3到2
TJ8A7591linux系統(tǒng)概述1
.1.3
linux操作系統(tǒng)的應(yīng)用場(chǎng)景1
、高端服務(wù)器領(lǐng)域。服務(wù)器市場(chǎng)占有率已經(jīng)達(dá)到25%,很多公司都是用Liunx做操作系統(tǒng)的。2、桌面應(yīng)用領(lǐng)域。新版本的Liunx完全可以作為一種集辦公應(yīng)用、多媒體應(yīng)用、網(wǎng)絡(luò)應(yīng)用等多方面
功能為一體的圖形界面操作系統(tǒng)。3、嵌入式應(yīng)用領(lǐng)域。目前能夠支持嵌入式開(kāi)發(fā)的操作系統(tǒng)有PalmOS、嵌入式Linux,
WindowsCE。bg32T8A76911d
linux系統(tǒng)概述>1
.1.4
linux版本>linux版本版本分為兩類:內(nèi)核版本和發(fā)行版本
o
3x0
d59
1
.內(nèi)核版本內(nèi)核是系統(tǒng)的心臟,是運(yùn)行程序和管理像磁盤(pán)和打印機(jī)等硬件設(shè)備的核心程序
,它提供了一個(gè)在裸設(shè)備與應(yīng)用程序間的抽象層。例如,程序本身不需要了解用戶的主板芯
片集或磁盤(pán)控制器的細(xì)節(jié)就能在高層次上讀寫(xiě)磁盤(pán)。內(nèi)核的開(kāi)發(fā)和規(guī)范一直是由Linus
領(lǐng)導(dǎo)的開(kāi)發(fā)小組控制著,
版本也是惟一的。開(kāi)發(fā)小組每隔一
段時(shí)間公布新的版本或其修訂版,從1991年10月Linus向世界公開(kāi)發(fā)布的內(nèi)核0.0.2
版
本(0
.0.1版本功能相當(dāng)簡(jiǎn)陋所以沒(méi)有公開(kāi)發(fā)布)到目前最新的內(nèi)核2.6.2
2
版
本
,Linux
的功能越來(lái)
越強(qiáng)大。1ublholunahg發(fā)行版本僅有內(nèi)核而沒(méi)有應(yīng)用軟件的操作系統(tǒng)是無(wú)法使用的,所以許多公司或社團(tuán)將內(nèi)核、源代碼及相
關(guān)的應(yīng)用程序組織構(gòu)成一個(gè)完整的操作系統(tǒng),讓一般的用戶可以簡(jiǎn)便地安裝和使用Linux,這就是
所謂的發(fā)行版本(distribution),一般談?wù)摰腖inux系統(tǒng)便是針對(duì)這些發(fā)行版本的。目前估計(jì)各種
發(fā)行版本有數(shù)十種,它們的發(fā)行版本號(hào)各不相同,使用的內(nèi)核版本號(hào)也可能不一樣,下面就為讀者
介紹目前比較著名的幾個(gè)發(fā)行版本。2271&E2Y2_
71
.1.4
linux版本linux版本版本分為兩類:內(nèi)核版本和發(fā)行版本rasIZ
318At5914dslinux系統(tǒng)概述9Musbtuno9xlov
n32
78A1591linux系統(tǒng)概述1
.1.4
linux版本linux版本版本分為兩類:內(nèi)核版本和發(fā)行版本發(fā)行版本Linux幾種常見(jiàn)的發(fā)行版,如商業(yè)版本redHat:十分穩(wěn)定且好用,但是需要付費(fèi)。centos:
雖
然不如redHat
,但功能全面,且免費(fèi)。Ubuntu:
擁有圖形化界面,方便操作,PC針對(duì)Ubuntu軟
件較多。
27
272b1gThanksHadoop
大數(shù)據(jù)技術(shù)Hadoop
技術(shù)概述Hadoop的前世今生113s12_3J8A73911dsv
apunaE)
10[3
J8A73911雙11電商數(shù)據(jù)大屏雙全瓏汪歡節(jié)240*91,217,017,615341,847,366無(wú)線成交占比:68%間
{00分35秒,2015天貓雙11全球狂歡節(jié)交易額超過(guò)800億!無(wú)線占比68山東高速大數(shù)據(jù)平臺(tái)¥00.069,498656元3112
3J8A75911dsp4高速收費(fèi)站數(shù)據(jù)大屏0
互聯(lián)網(wǎng)支付單位:口萬(wàn)元70.672022
17
21信聯(lián)加油信聯(lián)卡單位:萬(wàn)元2022A
卡卡2022-03-21善23.52022-03-210
ETC卡單位:萬(wàn)元2022-03-17咔預(yù)充20221昨日卡片、OBU
銷售單位:個(gè)321113s1z3J8A73911d智慧交通國(guó)工程建設(shè)作戰(zhàn)指揮室累計(jì)
工123,45613123J8A75911dsp4.1av王程建設(shè)作戰(zhàn)指揮室529天用
n預(yù)
估M187用202B
資源J8A70911ds
生產(chǎn)作業(yè)KPI指標(biāo)分析32
1J8A76911大數(shù)據(jù)是什么大數(shù)據(jù)這三個(gè)字只是一門(mén)市場(chǎng)語(yǔ)言,不是一項(xiàng)專門(mén)的技術(shù)。大數(shù)據(jù)的背后是
硬件、數(shù)據(jù)庫(kù)、操作系統(tǒng)、Hadoop
等一系列技術(shù)的綜合應(yīng)用?!?到278A759大數(shù)據(jù)是什么大數(shù)據(jù)這三個(gè)字只是一門(mén)市場(chǎng)語(yǔ)言,不是一項(xiàng)專門(mén)的技術(shù)。大數(shù)據(jù)的背后
是硬件、數(shù)據(jù)庫(kù)、操作系統(tǒng)、Hadoop等一系列技術(shù)的綜合應(yīng)用。
Hadoop是什么E0
回
Apache
ad
opHadoop
是由一系列軟件庫(kù)組成的框架。這些軟件庫(kù)各自負(fù)責(zé)Hadoop
的
一部分功能;其中最主要的是HDFS、MapReduce和YARN。HDFS
負(fù)責(zé)大數(shù)據(jù)
的存儲(chǔ)、MapReduce
負(fù)責(zé)大數(shù)據(jù)的計(jì)算、YARN
負(fù)責(zé)集群資源的調(diào)度。1013s123J8A75911d
Hadoop項(xiàng)目起源
Apache
HaoopHadoop起源于Google的三篇著名論文:√《The
File
System>2003年√《MapReduce
:Simplified
Data
Processingon
LargeClusters》2004年
√《Bigtable:A
Distributed
Storage
System
for
Structured
Data》2006年2004年左右,DougCutting開(kāi)發(fā)出初始版本的Hadoop,
作為Nutch項(xiàng)目的一
部分。135123J8A75911dZ1J8A76911dHadoop發(fā)展歷程·
第一階段√前Hadoop時(shí)代(2003-2007)√三大論文、DougCutting、HadoopHBase√
萌芽階段HBase
Ma
前Redice(N080
分布式數(shù)據(jù)庫(kù))
(分布式離線計(jì)算框架)HDFS(分布式文件系統(tǒng))131123J8A75911dsPHadoop發(fā)展歷程·
第二階段·
后Hadoop時(shí)代(2008-2014)=
oin5nHadoop、HBase、Hive、Pig、Sqoop
等百花齊放,眼花繚亂各個(gè)組件層出不窮,相互之間的兼容性管理混亂,雖然選擇性多,但是很亂HBase
Hive
PigMepReduoeMahoutFlumeHD8(分布式文件系統(tǒng))(分布式離線計(jì)算框架)7ookeeperSqoopY3z18A7591fdspHadoop發(fā)展歷程·
第三階段√
Hadoop
商業(yè)發(fā)行版時(shí)代(2011-2020)
x
d5√
商業(yè)發(fā)行版、CDH
、HDP
等等,云原生套件出現(xiàn),如阿里云、華為云、騰訊云、百度云
nv√標(biāo)準(zhǔn)的發(fā)行版大行其道,提供免費(fèi)版本,云原生商業(yè)版如火如荼發(fā)管復(fù)合TO0Ls安全運(yùn)營(yíng)DataLifecycleGovernanceZeppelinAmbar
User
ViewAdmlnlstration驗(yàn)證Authorlzatlon審接Data
Protectlon配
置
、管理和監(jiān)控暑
訪
問(wèn)FalconAtlaAmbariCloudbreakZooKeeper北量腳本PigSqlHteYARHaHoSg8ccumuloPhoenixSIIderH:DataOpHDdo
op分布浸St010erating
SysFS式
文
件
系搜素5oltem為存0u
3合作飲RangerKnonAtlasHOFSEncryptlon數(shù)據(jù)工作浸Sgo0pFlumeKafkaHFSS計(jì)劃0ozle統(tǒng)管理【3輯z
T8A7591rdHadoop發(fā)展歷程·
第四階段√
國(guó)產(chǎn)化開(kāi)源發(fā)行版時(shí)代(2021開(kāi)始)√
USDP√a標(biāo)準(zhǔn)的發(fā)行版紛紛收費(fèi),國(guó)產(chǎn)化開(kāi)源發(fā)行版勢(shì)在必行Manager
NodemSQLMananerSeork
Node
Work
Node
Work
NodeAgeBigDataS
Big
718A76911dHadoop名字起源Hadoop
這個(gè)名字不是一個(gè)縮寫(xiě),而是一個(gè)虛構(gòu)的名字。該項(xiàng)目的創(chuàng)建者,
Doug
Cutting解釋Hadoop的得名:“這個(gè)名字是我孩子給一個(gè)棕黃色的大象
玩具命名的。我的命名標(biāo)準(zhǔn)就是簡(jiǎn)短,容易發(fā)音和拼寫(xiě),沒(méi)有太多的意義,并且不會(huì)被用于別處。小孩子恰恰是這方面的高手?!盚adoop生態(tài)系統(tǒng)簡(jiǎn)介13sT2_3J8A7391fdsv
apunaE)10HadoopRoadmap3.x(3.x.x):最新的穩(wěn)定版
木,最高3.2.12.x(0.23.x,2.x.x):
該版本是由0.23.x
發(fā)行
版系列的延續(xù),最高2.10.01.x(0.20.x,0.21.x,0.22.x,1.x.x):該版本是由0.20.x發(fā)行版系列的延續(xù),最高1.2.12007
200820092010
2011
2012201320142015201620172018201913s1z3J8A7391fdspgHadoop版本迭代早期
(0.14.x-0.19.x):
實(shí)驗(yàn)性版木13s12.3J8A73911dsp9Hadoop生態(tài)系統(tǒng)Ambari(集群安裝、部署、配置和管理工具)YARN(資源管理系統(tǒng))HDFS(分布式文件系統(tǒng))Mahout(機(jī)器學(xué)習(xí))Flink(流式計(jì)算框架)Hive(數(shù)倉(cāng)工具)MapReduce(離線計(jì)算框架)Pig(數(shù)據(jù)分析工具)Spark(內(nèi)存計(jì)算框架)Sqoop(數(shù)據(jù)庫(kù)遷移工具)Flume(日志采集工具)DataX(數(shù)據(jù)同步工具)HBase(分布式數(shù)據(jù)庫(kù))Zookeeper(協(xié)調(diào)
系統(tǒng))Kafka(消息
隊(duì)列)Hadoop的優(yōu)勢(shì)及應(yīng)用場(chǎng)景3128A?5911dv
apunaE)101J8A7591dHadoop的優(yōu)勢(shì)方便Hadoop可以運(yùn)行在一般商業(yè)服務(wù)器構(gòu)成的大型集群上,或者是亞馬遜彈性計(jì)算云(Amazon
EC2)/阿里云等云計(jì)算服務(wù)上。彈性Hadoop
可以通過(guò)增加節(jié)點(diǎn)方式來(lái)線性地?cái)U(kuò)展集群規(guī)模,以便處理更大的
數(shù)據(jù)集。同時(shí),在集群負(fù)載下降時(shí),也可以減少節(jié)點(diǎn)以提高資源使用效率。健壯Hadoop在設(shè)計(jì)之初,就將故障檢測(cè)和自動(dòng)恢復(fù)作為一個(gè)設(shè)計(jì)目標(biāo),它可
以從容處理通用計(jì)算平臺(tái)上出現(xiàn)硬件失效的情況。簡(jiǎn)單Hadoop
允許用戶快速編寫(xiě)出高效的分布式計(jì)算程序。AT6911dps
1vHadoop
的應(yīng)用領(lǐng)域移動(dòng)數(shù)據(jù)Cloudera
運(yùn)營(yíng)總監(jiān)稱,美國(guó)有70%的智能手機(jī)數(shù)據(jù)服務(wù)背后都是由Hadoop
來(lái)支撐的,也就是說(shuō)包括數(shù)據(jù)的存儲(chǔ)以及無(wú)線運(yùn)營(yíng)商的數(shù)據(jù)處理等,
都是在利用Hadoop技術(shù)。電子商務(wù)Hadoop
在這一領(lǐng)域應(yīng)用非常廣泛,eBay就是最大的實(shí)踐者之一。國(guó)內(nèi)的電商
平臺(tái)在Hadoop技術(shù)儲(chǔ)備上也非常雄厚。在線旅游目前全球范圍內(nèi)80%的在線旅游網(wǎng)站都是在使用Cloudera
公司提供的Hadoop發(fā)行版,其中SearchBI網(wǎng)站曾經(jīng)報(bào)導(dǎo)過(guò)的Expedia也在其中。8A7591dp9.1nvHadoop
的應(yīng)用領(lǐng)域移詐騙檢測(cè)這個(gè)領(lǐng)域普通用戶接觸得比較少,一般只有金融服務(wù)或者政府機(jī)構(gòu)會(huì)用到。利
用Hadoop
來(lái)存儲(chǔ)所有的客戶交易數(shù)據(jù),包括一些非結(jié)構(gòu)化的數(shù)據(jù),能夠幫助
機(jī)構(gòu)發(fā)現(xiàn)客戶的異常活動(dòng),預(yù)防欺詐行為。醫(yī)療保健醫(yī)療行業(yè)也會(huì)用到Hadoop
,
像IBM的
Watson就會(huì)使用Hadoop集群作為其服
務(wù)的基礎(chǔ),包括語(yǔ)義分析等高級(jí)分析技術(shù)。醫(yī)療機(jī)構(gòu)可以利用語(yǔ)義分析為患者
提供醫(yī)護(hù)人員,并協(xié)助醫(yī)生更好地為患者進(jìn)行診斷。能源開(kāi)采美國(guó)Chevron
公司是全美第二大石油公司,它們的IT部門(mén)主管介紹了Chevron
使
用Hadoop的經(jīng)驗(yàn),利用Hadoop
進(jìn)行數(shù)據(jù)的收集和處理,其中一些數(shù)據(jù)是
海洋的地震數(shù)據(jù),以便找到油礦的位置。Hadoop
與云計(jì)算113s1z_3J8A73911dsAeV
3puna#)Z
J8A759云計(jì)算是什么云計(jì)算是一種可以通過(guò)網(wǎng)絡(luò)方便地接入共享資源池,按需獲取計(jì)算資源
(包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用、=服務(wù)等)的服務(wù)模型。共享資源池中的資源可以通過(guò)較少的管理代價(jià)和簡(jiǎn)單業(yè)務(wù)交互過(guò)程而快速部署和發(fā)布。7J8A7591云計(jì)算的特點(diǎn)按需提供服務(wù)以服務(wù)的形式為用戶提供應(yīng)用程序、數(shù)據(jù)存儲(chǔ)、基礎(chǔ)設(shè)施等資源,并可以根據(jù)用戶需
求自動(dòng)分配資源,而不需要管理員的干預(yù)。比如亞馬遜彈性計(jì)算云(Amazon
EC2),用
戶可以通過(guò)Web表單提交自己需要的配置給亞馬遜,從而動(dòng)態(tài)獲得計(jì)算能力,這些配置
包括CPU核數(shù)、內(nèi)存大小、磁盤(pán)大小等。寬帶網(wǎng)絡(luò)訪問(wèn)用戶可以通過(guò)各種終端設(shè)備,比如智能手機(jī)、筆記本等,隨時(shí)隨地通過(guò)互聯(lián)網(wǎng)訪問(wèn)云計(jì)算服務(wù)。資源池化資源以共享池的方式統(tǒng)一管理。通過(guò)虛擬化技術(shù),將資源分享給不同的用戶,而資源
的存放、管理以及分配策略對(duì)用戶是透明的。高可伸縮性服務(wù)的規(guī)??梢钥焖偕炜s,來(lái)自動(dòng)適應(yīng)業(yè)務(wù)負(fù)載的變化。這樣就保證了用戶使用的資源與
業(yè)務(wù)所需要的資源的一致性,從而避免了因?yàn)榉?wù)器超載或者冗余造成服務(wù)質(zhì)量下降或者
資源的浪費(fèi)。8A7云計(jì)算的特點(diǎn)可量化服務(wù)云計(jì)算服務(wù)中心可以通過(guò)監(jiān)控軟件監(jiān)控用戶的使用情況,從而根據(jù)資源的使用情況對(duì)
提供的服務(wù)進(jìn)行計(jì)費(fèi)。大規(guī)模承載云計(jì)算的集群規(guī)模非常巨大,一般達(dá)到數(shù)萬(wàn)臺(tái)服務(wù)器以上。從集群規(guī)模來(lái)看,云計(jì)算賦予了用戶前所未有的計(jì)算能力。服務(wù)非常廉價(jià)云服務(wù)可以采用非常廉價(jià)的PCServer來(lái)構(gòu)建,而不是需要非常昂貴的小型機(jī)。另外
云服務(wù)的公用性和通用性,極大地提升了資源利用率,從而大幅降低使用成本。8A75911dspe.1nvHadoopVS云計(jì)算云計(jì)算包含以下3種模式:IaaS(Infrastructure
as
a
Service)它的含義是基礎(chǔ)設(shè)施即服務(wù)。比如;阿里云主機(jī)提供的就是基礎(chǔ)設(shè)施服務(wù),可以直接購(gòu)買阿里云主機(jī)服務(wù)。PaaS(Platform
as
a
Service):它的含義是平臺(tái)即服務(wù)。比如,阿里云主機(jī)上已經(jīng)部署好Hadoop集群,可以提供大
數(shù)據(jù)平臺(tái)服務(wù),用戶直接購(gòu)買平臺(tái)的計(jì)算能力運(yùn)行自己的應(yīng)用即可。SaaS(Softwareasa
Service)
:它的含義是軟件即服務(wù),比如阿里云平臺(tái)已經(jīng)部署好具體的項(xiàng)目應(yīng)用,用戶直接購(gòu)買
賬號(hào)使用它們提供的軟件服務(wù)即可。總的來(lái)說(shuō),云計(jì)算是一種運(yùn)營(yíng)模式,而Hadoop
是一種技術(shù)手段,對(duì)云計(jì)算提供技術(shù)
支撐。Hadoop與Spark113s12_3J8A73911dspTV
1punat)1J8A75911Spark是什么Spark
是基于內(nèi)存計(jì)算的大數(shù)據(jù)并行計(jì)算框架。Spark基于內(nèi)存計(jì)算的特性,提高了
在大數(shù)據(jù)環(huán)境下數(shù)據(jù)處理的實(shí)時(shí)性,同時(shí)保證了高容錯(cuò)性和高可伸縮性,允許用戶將Spark
部署在大量的廉價(jià)硬件之上形成集群,從而提高并行計(jì)算能力。Spark
于2009年誕生于加州大學(xué)伯克利分校AMP
Lab,
在開(kāi)發(fā)以Spark
為核心的BDAS時(shí),AMP
Lab提出的目標(biāo)是:onestacktorulethemall,也就是說(shuō)在一套軟件棧
內(nèi)完成各種大數(shù)據(jù)分析任務(wù)。目前,Spark
已經(jīng)成為Apache軟件基金會(huì)旗下的頂級(jí)開(kāi)源
項(xiàng)目。bSpark的特點(diǎn)運(yùn)行速度快Spark源碼是由Scala語(yǔ)言編寫(xiě)的,Scala語(yǔ)言非常簡(jiǎn)潔并具有豐富的表達(dá)力。Spark充分利用和集成了Hadoop
等其他第三方組件,同時(shí)著眼于大數(shù)據(jù)處理,那么數(shù)據(jù)處理速
度是至關(guān)重要的,Spark
通過(guò)將中間結(jié)果緩存在內(nèi)存從而減少磁盤(pán)I/O來(lái)達(dá)到性能的提升。易用性Spark支持Java、Python和Scala的API,
還支持超過(guò)80種高級(jí)算法,使用戶可以快速構(gòu)建不同的應(yīng)用。而且Spark支持交互式的Python和Scala的shell
,可以非常方便地在這
些shell中使用Spark集群來(lái)驗(yàn)證解決問(wèn)題的方法。支持復(fù)雜查詢除了簡(jiǎn)單的map及reduce操作之外,Spark還支持復(fù)雜查詢。Spark支持SQL查詢、流式計(jì)算、機(jī)器學(xué)習(xí)和圖算法,同時(shí)用戶可以在同一個(gè)工作流中無(wú)縫地搭配這些計(jì)算范式。Spark的特點(diǎn)實(shí)時(shí)的流處理與Hadoop
相比,Spark
不僅支持離線計(jì)算還支持實(shí)時(shí)流計(jì)算。SparkStreaming主
要用來(lái)對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)處理,而Hadoop
在擁有了YARN
之后,也可以借助其他框架進(jìn)行
流式計(jì)算。容錯(cuò)性Spark引入了彈性分布式數(shù)據(jù)集RDD(ResilientDistributedDataset),它是分布在一
組節(jié)點(diǎn)中的只讀對(duì)象集合,這些集合是彈性的,如果數(shù)據(jù)集的一部分丟失,則可以根據(jù)
“血統(tǒng)”對(duì)它們進(jìn)行重建。另外在對(duì)RDD進(jìn)行計(jì)算時(shí)可以通過(guò)CheckPoint機(jī)制來(lái)實(shí)現(xiàn)容錯(cuò)。SparkHadoop流式計(jì)算Streaming無(wú)離線計(jì)算CoreMapReduce圖計(jì)算GraphX無(wú)機(jī)器學(xué)習(xí)MLibMahoutSQLDataFrameHive13s123J8A75911dsp421avHadoopVSSparkbuna79
oV8nHadoop與傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)3128A?5911dv
1punaE)1031z18A76911RDBMS是什么傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)RDBMS(RelationalDatabaseManagement
System)是指對(duì)應(yīng)于
一個(gè)關(guān)系模型的所有關(guān)系的集合。關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)了關(guān)系模型,并用它來(lái)處理數(shù)據(jù)。
關(guān)系模型在表中將信息與字段關(guān)聯(lián)起來(lái),從而存儲(chǔ)數(shù)據(jù)。這種數(shù)據(jù)庫(kù)管理系統(tǒng)需要結(jié)構(gòu)(例如表)在存儲(chǔ)數(shù)據(jù)之前被定義出來(lái)。有了表,每一
列(字段)都存儲(chǔ)一個(gè)不同類型(數(shù)據(jù)類型)的信息。數(shù)據(jù)庫(kù)中的每條記錄都有自己唯一
的key
(主鍵)作為屬于某個(gè)表的一行,行中的每一個(gè)信息都對(duì)應(yīng)了表中的一列——所有的關(guān)系一起構(gòu)成了關(guān)系模型。
TJ8A7RDBMS
的特點(diǎn)容易理解二維表結(jié)構(gòu)是非常貼近邏輯世界的一個(gè)概念,關(guān)系模型相對(duì)網(wǎng)狀、層次等其他模型來(lái)說(shuō)更容易理解。使用方便通用的SQL語(yǔ)言使得操作關(guān)系型數(shù)據(jù)庫(kù)非常方便。易于維護(hù)豐富的完整性(實(shí)體完整性、參照完整性和用戶定義的完整性)大大降低了數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率。支持SQL支持SQL
語(yǔ)言完成復(fù)雜的查詢功能。RDBMSHadoop數(shù)據(jù)規(guī)模GB級(jí)P
B
級(jí)訪問(wèn)方式交互型和批處理批處理數(shù)據(jù)讀寫(xiě)多次讀寫(xiě)一次寫(xiě)、多次讀集群收縮性非線性線性13s1z23J8A73911dsp4.1avHadoopVS
RDBMSOb
Ine709x
O2fovnFJ1n集群收縮性RDBMS是非線性擴(kuò)展的,而Hadoop支持線性擴(kuò)展,可以通過(guò)簡(jiǎn)單的增加節(jié)點(diǎn)來(lái)擴(kuò)
展Hadoop
集群規(guī)模??偟膩?lái)說(shuō),Hadoop
適合用于海量數(shù)據(jù)的批處理,而
RDBMS適合用于少量數(shù)據(jù)的實(shí)
時(shí)查詢。在實(shí)際工作中,Hadoop
一般需要與RDBMS
結(jié)合來(lái)使用,比如可以利用Hadoop
集群對(duì)海量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,然后將分析結(jié)果存入RDBMS
對(duì)外提供實(shí)時(shí)查詢
服務(wù)。78A7591dsp9,1nvHadoopVS
RDBMS數(shù)據(jù)規(guī)模RDBMS
適合處理GB
級(jí)別的數(shù)據(jù),數(shù)據(jù)量超過(guò)這個(gè)范圍就會(huì)出現(xiàn)性能急劇下降,而Hadoop可以處理PB級(jí)別的數(shù)據(jù),沒(méi)有數(shù)據(jù)規(guī)模的限制。訪問(wèn)方式RDBMS支持交互處理和批處理,而Hadoop
僅支持批處理。數(shù)據(jù)讀寫(xiě)RDBMS支持?jǐn)?shù)據(jù)多次讀寫(xiě),而Hadoop支持一次寫(xiě)、多次讀。WThanksHadoop
大數(shù)據(jù)技術(shù)——Zookeeper分布式協(xié)調(diào)服務(wù)Zookeeper架構(gòu)設(shè)計(jì)與工作原理13s123J8A75911dsv
1punaE)108A7591tdapZookeeper是什么定
義:zookeeper
一個(gè)分布式的開(kāi)源的協(xié)調(diào)服務(wù)框架,服務(wù)于分布式應(yīng)用。它暴露了一系列的原語(yǔ)操作服務(wù),因此分布式應(yīng)用能夠基于這些服務(wù),構(gòu)建出
更高級(jí)別的服務(wù),比如同步,配置管理,分組和命名服務(wù)。zookeeper
設(shè)計(jì)上易于編碼,數(shù)據(jù)模型構(gòu)建在我們熟悉的樹(shù)形結(jié)構(gòu)目錄風(fēng)格
的文件系統(tǒng)中。zookeeper
運(yùn)行在Java中,同時(shí)支持Java和C
語(yǔ)言。18A7591dZookeeper的特點(diǎn)最終一致性客戶端不論連接到哪個(gè)Server,展示給它的都是同一個(gè)視圖,這是
Zookeeper
最重要的特點(diǎn)??煽啃訸ookeeper具有簡(jiǎn)單、健壯、良好的性能。如果一條消息被一臺(tái)服務(wù)器接
收,那么它將被所有的服務(wù)器接收。實(shí)時(shí)性Zookeeper
保證客戶端將在一個(gè)時(shí)間間隔范圍內(nèi),獲得服務(wù)器的更新信息
或者服務(wù)器失效的信息。但由于網(wǎng)絡(luò)延時(shí)等原因,Zookeeper不能保證兩個(gè)客
戶端能同時(shí)得到剛更新的數(shù)據(jù),如果需要最新數(shù)據(jù),應(yīng)該在讀數(shù)據(jù)之前調(diào)用sync()接口。等待無(wú)關(guān)(wait-free)慢的或者失效的客戶端不得干預(yù)快速的客戶端的請(qǐng)求,這就使得每個(gè)客戶
端都能有效地等待。8A75911dZookeeper的特點(diǎn)原子性對(duì)Zookeeper的更新操作要么成功,要么失敗,沒(méi)有中間狀態(tài)。順序性它包括全局有序和偏序兩種。
9全局有序是針對(duì)服務(wù)器端,例如,在一臺(tái)服務(wù)器上,消息A在消息B
前發(fā)布,
那么所有服務(wù)器上的消息A都將在消息B前被發(fā)布。偏序是針對(duì)客戶端,例如,在同一個(gè)客戶端中,消息B在消息A后發(fā)布,那
么執(zhí)行的順序必將是先執(zhí)行消息A然后在是消息B。所有的更新操作都有嚴(yán)格的
偏序關(guān)系,更新操作都是串行執(zhí)行的,這一點(diǎn)是保證ZooKeeper功能正確性的關(guān)鍵。1312_318A75911dsp9.1avZookeeper
的基本架構(gòu)與工作原理Zookeeper
服務(wù)自身組成一個(gè)集群(2n+1個(gè)服務(wù)節(jié)點(diǎn)最多允許n個(gè)失效)。
Zookeeper服務(wù)有兩個(gè)角色:一個(gè)是主節(jié)點(diǎn)(Leader),負(fù)責(zé)投票的發(fā)起和決
議,更新系統(tǒng)狀態(tài);另一種是從節(jié)點(diǎn)(Follower)
,用于接收客戶端請(qǐng)求并向
客戶端返回結(jié)果,在選主過(guò)程(即選擇主節(jié)點(diǎn)的過(guò)程)中參與投票。主節(jié)點(diǎn)失
效后,會(huì)在從節(jié)點(diǎn)中重新選舉新的主節(jié)點(diǎn)。Zookeeper服
務(wù)主節(jié)點(diǎn)從節(jié)點(diǎn)從節(jié)點(diǎn)
從節(jié)點(diǎn)
從節(jié)點(diǎn)服務(wù)端
服務(wù)端
服務(wù)端
服務(wù)端
服務(wù)端客戶端
客戶端
客戶端
客戶端
客戶端
客戶端
客戶端客戶端12
118A75911dspeZookeeper數(shù)據(jù)模型zookeeper
的數(shù)據(jù)結(jié)構(gòu)與linux文件系統(tǒng)很類似,與Linux中的文件系統(tǒng)路徑
不同
,Zookeeper
中的路徑必須是絕對(duì)路徑,而且每條路徑只有唯一的一種表示方式(/appl/p_3)。T0A7691d3p9.1mZookeeper數(shù)據(jù)模型Znode節(jié)點(diǎn)特性臨時(shí)節(jié)點(diǎn)znode
節(jié)點(diǎn)有兩種:臨時(shí)節(jié)點(diǎn)和持久節(jié)點(diǎn)。Znode
的類型在創(chuàng)建時(shí)就確定,
n之后不能修改。當(dāng)創(chuàng)建臨時(shí)節(jié)點(diǎn)的客戶端會(huì)話結(jié)束時(shí),Zookeeper會(huì)將該臨時(shí)
節(jié)點(diǎn)刪除。而持久節(jié)點(diǎn)不依賴與客戶端會(huì)話,只有當(dāng)客戶端明確要?jiǎng)h除該持久
節(jié)點(diǎn)時(shí)才會(huì)被真正刪除。臨時(shí)節(jié)點(diǎn)不可以有子節(jié)點(diǎn),即使是短暫的子節(jié)點(diǎn)。順序節(jié)點(diǎn)順序節(jié)點(diǎn)是指名稱中包含Zookeeper
指定順序號(hào)的znode。如果在創(chuàng)建
znode的時(shí)候設(shè)置了順序標(biāo)識(shí),那么該znode名稱之后就會(huì)附加一個(gè)值,這個(gè)
值是由一個(gè)單調(diào)遞增的計(jì)數(shù)器所添加的,由父節(jié)點(diǎn)維護(hù)。13123J8A75911dsp4.1avZookeeper數(shù)據(jù)模型觀察機(jī)制客戶端可以在znode
上設(shè)置watcher,
當(dāng)節(jié)點(diǎn)狀態(tài)發(fā)生改變時(shí)將會(huì)觸發(fā)watcher所對(duì)應(yīng)的操作。當(dāng)watcher
被觸發(fā)時(shí),ZooKeeper將會(huì)向客戶端發(fā)送
且僅發(fā)送一條通知,因
為watcher只能被觸發(fā)一次,這樣可以減少網(wǎng)絡(luò)流量。
為了能夠多次收到通知,客戶端需要重新注冊(cè)所需的watcher。Zookeeper服務(wù)/spider
監(jiān)視器
注冊(cè)
注冊(cè)
注冊(cè)客戶端客戶端
客戶端10ThanksHadoop
大數(shù)據(jù)技術(shù)—搭建HDFS分布式集群HDFS架構(gòu)設(shè)計(jì)與工作原理13s123J8A75911dv
apunaE)0特
8A1691HDFS是什么HDFS(Hadoop
Distributed
File
System)是Hadoop
項(xiàng)目的核心子項(xiàng)目,
是分布式計(jì)算中數(shù)據(jù)存儲(chǔ)管理的基礎(chǔ),是基于流數(shù)據(jù)模式訪問(wèn)和處理超大文件的需求而開(kāi)發(fā)的,可以運(yùn)行于廉價(jià)的商用服務(wù)器上。HDFS
源
于Google
在2003年10月份發(fā)表的GFS
(
File
System)論
文。它其實(shí)就是GFS
的一個(gè)克隆版本。17
T8A7591HDFS產(chǎn)生背景隨著數(shù)據(jù)量的不斷增大,最終會(huì)導(dǎo)致數(shù)據(jù)在一個(gè)操作系統(tǒng)的磁盤(pán)中存儲(chǔ)不
下。那么為了存儲(chǔ)這些大規(guī)模數(shù)據(jù),就需要將數(shù)據(jù)分配到更多操作系統(tǒng)管理的
磁盤(pán)中進(jìn)行存儲(chǔ),但是這樣會(huì)導(dǎo)致數(shù)據(jù)的管理和維護(hù)非常不方便,所以就迫切
需要一種系統(tǒng)來(lái)管理和維護(hù)多臺(tái)機(jī)器上的數(shù)據(jù)文件,實(shí)際上這種系統(tǒng)就是分布
式文件系統(tǒng),而
HDFS只是分布式文件系統(tǒng)中的一種。g【3輯zJ8A1591HDFS設(shè)計(jì)理念HDFS
的設(shè)計(jì)理念來(lái)源于非常樸素的思想:即當(dāng)數(shù)據(jù)文件的大小超過(guò)單臺(tái)計(jì)算機(jī)的存儲(chǔ)能力時(shí),就有必要將數(shù)據(jù)文件切分并存儲(chǔ)到由若干臺(tái)計(jì)算機(jī)組成的集群中,這些計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)進(jìn)行連接。而
HDFS
作為一個(gè)抽象層架構(gòu)在集群網(wǎng)絡(luò)之上,對(duì)外提供統(tǒng)一的文件管理
功能,對(duì)于用戶來(lái)說(shuō)就感覺(jué)像在操作一臺(tái)計(jì)算機(jī)一樣,根本感受不到HDFS
底層的多臺(tái)計(jì)算機(jī),而
且HDFS還能夠很好地容忍節(jié)點(diǎn)故障且不丟失任何數(shù)據(jù)。Z
J8A7591fdHDFS
設(shè)計(jì)目標(biāo)HHDFS
核心設(shè)計(jì)目標(biāo):支持超大文件存儲(chǔ)支持超大文件存儲(chǔ)是HDFS最基本的職責(zé)所在。流式數(shù)據(jù)訪問(wèn)流式數(shù)據(jù)訪問(wèn)是HDFS選擇的最高效的數(shù)據(jù)訪問(wèn)方式。流式數(shù)據(jù)訪問(wèn)可以理
解
為:讀取數(shù)據(jù)文件就像打開(kāi)水龍頭一樣,可以不停地讀取。簡(jiǎn)單的一致性模型在HDFS文件系統(tǒng)中,一個(gè)文件一旦經(jīng)過(guò)創(chuàng)建、寫(xiě)
入、關(guān)閉之后,一般就不
需要再進(jìn)行修改,這樣就可以簡(jiǎn)單地保證數(shù)據(jù)的一致性。硬件故障的檢測(cè)和快速應(yīng)對(duì)通過(guò)大量普通硬件構(gòu)成的集群中,硬件出現(xiàn)故障是常見(jiàn)的問(wèn)題。HDFS
文件
系統(tǒng)一般是由數(shù)十臺(tái)甚至成百上干臺(tái)服務(wù)器組成,這么多服務(wù)器就意味著高故
障率,但是HDFS
在設(shè)計(jì)之初已經(jīng)充分考慮到這些問(wèn)題,認(rèn)為硬件故障是常態(tài)
而不是異常,所以如何進(jìn)行故障的檢測(cè)和快速自動(dòng)恢復(fù)也是HDFS的重要設(shè)計(jì)目
標(biāo)之一。113s1z.3J8A73911dHDFS
系統(tǒng)架構(gòu)HDFSClient
(HDFS客戶端b
SecondaryNameNode
(備用節(jié)點(diǎn))DataNode(從節(jié)點(diǎn))HDFSClient
(HDFS
客戶端HDFSClient
(HDFS
客戶端DataNode(從節(jié)點(diǎn))NameNode
(主節(jié)點(diǎn))DataNode(從節(jié)點(diǎn))元數(shù)據(jù)節(jié)點(diǎn)edits
fsimage1.生成新的editsedits.new6.將edis替換為新的
fsimage.ckptedits.new5.將fsimage.ckpi替換為fsimageedits
fsimage從元數(shù)據(jù)節(jié)點(diǎn)2.用httpget復(fù)制edits和fsimage文件
到從元數(shù)據(jù)節(jié)點(diǎn)edits
fsimage13s1z318A73911dsHDFS
系統(tǒng)架構(gòu)fsimage.ckpt4.用httppost復(fù)制
fsimage.ckpt到元
數(shù)據(jù)節(jié)點(diǎn)3
.
將simage導(dǎo)入內(nèi)存,應(yīng)用edits中的操作,生成
新的fsimage.ckptIAv18A75911HDFS
優(yōu)缺點(diǎn)HDFS
的優(yōu)點(diǎn)高容錯(cuò)性數(shù)據(jù)自動(dòng)保存多個(gè)副本,HDFS通過(guò)增加多個(gè)副本的形式,提高HDFS文件
系統(tǒng)的容錯(cuò)性,某一個(gè)副本丟失以后可以自動(dòng)恢復(fù)。suov適合大數(shù)據(jù)處理能夠處理GB、TB、甚至PB級(jí)別的數(shù)據(jù)規(guī)模;能夠處理百萬(wàn)規(guī)模以上的文件數(shù)
量;能夠達(dá)到10000個(gè)節(jié)點(diǎn)以上的集群規(guī)模。流式文件訪問(wèn)數(shù)據(jù)文件只能一次寫(xiě)入,多次讀取,只能追加,不能修改;HDFS
能保證數(shù)
據(jù)的簡(jiǎn)單一致性。可構(gòu)建在廉價(jià)的機(jī)器上HDFS提供了容錯(cuò)和恢復(fù)機(jī)制,比如某一個(gè)副本丟失了可以通過(guò)其他副本來(lái)
恢復(fù),從而保證了數(shù)據(jù)的安全性和系統(tǒng)的可靠性。HDFS
的缺點(diǎn)不適合低延時(shí)數(shù)據(jù)訪問(wèn)比如毫秒級(jí)別的數(shù)據(jù)響應(yīng)時(shí)間,這種場(chǎng)景HDFS是很難做到的。HDFS
更適
合高吞吐率的場(chǎng)景,就是在某一時(shí)間內(nèi)寫(xiě)入大量的數(shù)據(jù)。不適合大量小文件的存儲(chǔ)如果有大量小文件需要存儲(chǔ),這些小文件的元數(shù)據(jù)信息會(huì)占用NameNode
大量的內(nèi)存空間。這樣是不可取的,因?yàn)镹ameNode
的內(nèi)存總是有限的。如果
讀取小文件的尋道時(shí)間超過(guò)文件數(shù)據(jù)的讀取時(shí)間,它就違反了HDFS大數(shù)據(jù)塊的
設(shè)計(jì)目標(biāo)。不適合并發(fā)寫(xiě)入、文件隨機(jī)修改一個(gè)文件只能有一個(gè)寫(xiě)操作,不允許多個(gè)線程同時(shí)進(jìn)行寫(xiě)操作;僅支持?jǐn)?shù)
據(jù)的append(追加)操作,不支持文件的隨機(jī)修改。18A75911HDFS
優(yōu)缺點(diǎn)2.獲取塊的位置信息NameNode名字節(jié)點(diǎn)5.讀取DistributedFileSsystemFSDataInputStream4.讀取DataNode數(shù)據(jù)節(jié)點(diǎn)13s123J8A75911dHDFS
讀數(shù)據(jù)流程1.打開(kāi)3
.
讀
取6.關(guān)閉客戶端節(jié)點(diǎn)DataNode數(shù)據(jù)節(jié)點(diǎn)DataNode數(shù)據(jù)節(jié)點(diǎn)v
3pun3e)HDFS
客戶端ras12_38A7591fdHDFS寫(xiě)數(shù)據(jù)流程客戶端節(jié)點(diǎn)4.寫(xiě)數(shù)據(jù)包5.返回響應(yīng)數(shù)據(jù)包DistributedFileSsystemFSDataOutputStream4DataNode5數(shù)
據(jù)
節(jié)
點(diǎn)16V
b
3qla51.創(chuàng)建3
.
寫(xiě)
入6.關(guān)閉DataNode數(shù)據(jù)節(jié)點(diǎn)DataNode數(shù)據(jù)節(jié)點(diǎn)NameNode名字節(jié)點(diǎn)數(shù)據(jù)節(jié)點(diǎn)組成
的數(shù)據(jù)管道2.創(chuàng)建7.完成HDFS
客戶端45HDFS高
可
用
(HA)113s12_3J8A73911dspav3punaE[unp
10TJ8A76911dspHA
機(jī)制產(chǎn)生的背景高可用(High
Availability,簡(jiǎn)
稱HA)為了整個(gè)系統(tǒng)的可靠性,我們通常會(huì)在系統(tǒng)中部署兩臺(tái)或多臺(tái)主節(jié)點(diǎn),多
臺(tái)主節(jié)點(diǎn)形成主備的關(guān)系,但是某一時(shí)刻只有一個(gè)主節(jié)點(diǎn)能夠?qū)ν馓峁┓?wù),當(dāng)某一時(shí)刻檢測(cè)到對(duì)外提供服務(wù)的主節(jié)點(diǎn)“掛”掉之后,備用主節(jié)點(diǎn)能夠立刻
接替已掛掉的主節(jié)點(diǎn)對(duì)外提供服務(wù),而用戶感覺(jué)不到明顯的系統(tǒng)中斷。這樣對(duì)
用戶來(lái)說(shuō)整個(gè)系統(tǒng)就更加的可靠和高效。影響HDFS集群的可用性主要包括兩種情況一是NameNode
機(jī)器宕機(jī),將導(dǎo)致集群不可用,重
啟NameNode
之后才
可使
用;二是計(jì)劃內(nèi)的NameNode節(jié)點(diǎn)軟件或硬件升級(jí),導(dǎo)致集群在短時(shí)間內(nèi)不可
用。發(fā)送狀態(tài)信息發(fā)送狀態(tài)信息存儲(chǔ)共享數(shù)據(jù)的JournalNode集群共享數(shù)據(jù)
共享數(shù)據(jù)Journal
JournalJournalNodelNode2Noden13s1238A73911dHDFS
HA架構(gòu)Zookeeper集群Zookeeper
Zookeeper2主備切換控制器名字節(jié)點(diǎn)(備用的)主備切換控制器名字節(jié)點(diǎn)(活躍的)數(shù)據(jù)節(jié)點(diǎn)(2)數(shù)據(jù)節(jié)點(diǎn)
(1)數(shù)據(jù)節(jié)點(diǎn)(n)Zookeeper
HDFS
HA機(jī)制tn?Active
NameNode
Standby
NameNode④
利用Zookeeper
完成主備選舉…
Zookeepor④利用Zookeoper
完成主備選舉Zookeeper集群Zookeeper
Zookeeper⑥
切換主備狀態(tài)
①監(jiān)控狀態(tài)②狀態(tài)變化回調(diào)HealthMonitorZKFailoverController①需要主備選舉HealthMonitorZKFailoverController①需要主備選舉①監(jiān)控狀態(tài)②
狀態(tài)查化回調(diào)ActiveStandbyElectorzkfc
進(jìn)程ActiveStandbyElectorzkfc進(jìn)程13s1z_3J8A73911d⑤通知主備選舉結(jié)果⑤通知主備選舉結(jié)果⑥
切換主備狀態(tài)b0n集群規(guī)劃r3112_3J8A75911dspd6nv
35uns
nvn1守護(hù)進(jìn)程hadoopl/192.168.0.111hadoop2/192.168.0.112hadoop3/192.168.0.113NameNode是是DataNode是是是ResourceManager是是NodeManager是是是Joumalnode是是是Zookeeper是是是3z
J8A75911dsp主機(jī)規(guī)劃
bon
Vn9ndgU)72)V59n2olov(bloy)sf
nl
nvnE軟件版本JDKJDK
1.8CentOSCentOS
7ZookeeperApacheZookeeper
3.4.6HadooplApache
Hadoop2.9.213s1z
3J8A75911d軟件規(guī)劃6bunpn09x
g節(jié)點(diǎn)名稱用戶組用戶hadoop1hadoophadoophadoop2hadoophadoophadoop3hadoophadoop91uabofuno18
13s1z3J8A73911ds用戶規(guī)劃T2)
d3g
1oy名稱路徑所有軟件目錄home
hadoop/app/所有數(shù)據(jù)和日志目錄/home
hadoop/data/
目錄規(guī)劃dpggnu93s1z
3J8A73911ds9fus1ab
ofunon0ueST2)80ThanksHadoop
大數(shù)據(jù)技術(shù)—搭建YARN分布式集群YARN架構(gòu)設(shè)計(jì)與工作原理13s123J8A75911dv
1punaE)013s1z3J8A73911d
1vYARN
產(chǎn)生背景MapReduce1.0系統(tǒng)架構(gòu)ClientClientClientHeartbeatTaskTrackerTaskSchedulerHeartbeatTaskTrackerJobTrackerHeartbeatTaskTrackerMap
taskMap
Map
taskReducetaskMap
task
Map
taskReducetaskMaReducce
task3Z
TJ8A7591
YARN產(chǎn)生背景MapReduce1.0架構(gòu)缺陷擴(kuò)展性差JobTracker
同時(shí)兼?zhèn)淞速Y源管理和作業(yè)控制兩個(gè)功能,嚴(yán)重制約了Hadoop
集群擴(kuò)展性。RPCTaskTracker
TaskTracker
TaskTrackerFunctionCallTaskSchedulerJobTracker
(All
Jobs)13s123J8A75911dYARN
產(chǎn)生背景MapReduce1.0架構(gòu)缺陷資源利用率低MRv1采用基于slot的粗粒度的資源分配模型,包含Mapslot和Reduce
slot。某個(gè)任務(wù)用不完的資源其他任務(wù)也不能用,因?yàn)閙ap和reduce的資源完全不能共享的。當(dāng)一個(gè)作業(yè)剛提交時(shí),只會(huì)運(yùn)行Map
Task,此時(shí)Reduce
Slot閑置。Step
2:SchedulinghandlerJT4:for
tasksStep
1:RPCrequestTask
SchedulerAssigned
tasksS0b
10Step
ResponseTT_
1TT_213s123J8A75911d
vYARN產(chǎn)生背景MapReduce1.0架構(gòu)缺陷通用性差隨著互聯(lián)網(wǎng)高速發(fā)展導(dǎo)致數(shù)據(jù)量劇增,MapReduce
這種基于磁盤(pán)的離線
計(jì)算框架已經(jīng)不能滿足應(yīng)用要求,從而出現(xiàn)了一些新的計(jì)算框架以應(yīng)對(duì)各種場(chǎng)
景,包括內(nèi)存計(jì)算框架、流式計(jì)算框架和迭代式計(jì)算框架等,而
MRv1
不能支持多種計(jì)算框架并存。Hadoop
SparkNodeNode
NodeHadoopSpark33%17%
0%33%27%
0%33%17%
0%NodeNodeMPI1312_3J8A75911YARN
產(chǎn)生背景MapReduce1.0架構(gòu)缺陷單點(diǎn)故障MRv1
采用了master/slave
結(jié)
構(gòu),其中master
存在單點(diǎn)故障問(wèn)題,一旦它出現(xiàn)故障將導(dǎo)致整個(gè)集群不可用。RPCTaskTracker
TaskTracker
TaskTrackerFunctionCallTaskSchedulerJobTrackcr
(All
Jobs)
8A75911dYARN
產(chǎn)生背景MapReduce1
.0架構(gòu)缺陷擴(kuò)展性差:兼具資源管理和作業(yè)調(diào)度資源利用率低:基于粗粒度slot資源分配
通用性差:不支持多種計(jì)算框架單點(diǎn)故障:master
沒(méi)有實(shí)現(xiàn)高可用2
16A75SYARN是什么YARN
是Hadoop2.0版本新引入的資源管理系統(tǒng),直接從MR1演化而來(lái)。ApacheHadoop
YARN(Yet
Another
Resource
Negotiator,
另一種資源協(xié)調(diào)者)是一種新
的
Hadoop資源管理器,它是一個(gè)通用資源管理系統(tǒng),可為上層應(yīng)用提供統(tǒng)一的資源管
理和調(diào)度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來(lái)了巨大好處。核心思想:將MR1中JobTracker的資源管理和作業(yè)調(diào)度兩個(gè)功能分開(kāi),分別由
ResourceManager
和ApplicationMaster
進(jìn)程來(lái)實(shí)現(xiàn)。ResourceManager
負(fù)責(zé)整個(gè)集群的資源管理和調(diào)度。ApplicationMaster負(fù)責(zé)應(yīng)用程序相關(guān)的事務(wù),比如任務(wù)調(diào)度、任務(wù)監(jiān)控和容錯(cuò)等。3s1z3J8A73911dsp
YARN的作用Ambari(集群安裝、部署、配置和管理工具)YARN(資源管理系統(tǒng))HDFS(分布式文件系統(tǒng))Hive(數(shù)倉(cāng)工具)MapReduce(離線計(jì)算框架)Pig(數(shù)據(jù)分析工具)Spark(內(nèi)存計(jì)算框架)Mahout(機(jī)器學(xué)習(xí))Flink(流式計(jì)算框架)Sqoop(數(shù)據(jù)庫(kù)遷移工具)Flume(日志采集工具)DataX(數(shù)據(jù)同步工具)HBase(分布式數(shù)據(jù)庫(kù))Zookeeper(協(xié)調(diào)
系統(tǒng))Kafka
(消息
隊(duì)列)節(jié)點(diǎn)管理器任務(wù)應(yīng)用程序狀態(tài)容器
管理器容器
Map任務(wù)客戶端節(jié)點(diǎn)管理器r3sI2.38A73911dYARN的基本構(gòu)架客戶端資源管理器節(jié)點(diǎn)管理器客戶端作業(yè)提交Map任務(wù)Reduce
任務(wù)Map任務(wù)Reduce任務(wù)容器容器容器容器資源
請(qǐng)求節(jié)點(diǎn)狀態(tài)匯報(bào)本節(jié)點(diǎn)資源狀況2
.
啟
動(dòng)4.匯報(bào)本節(jié)點(diǎn)資源狀況匯報(bào)本節(jié)點(diǎn)
資源狀況節(jié)點(diǎn)管理器應(yīng)用程序
管理器3.節(jié)點(diǎn)管理器容器資源管理器容器rasI2_3J8A7591fdsp9YARN
的工作原理1.提交客戶端資源管理器MapReduce
ON
YARN工作流程13s123J8A75911dsv
apunaE)10MapReduce
ON
YARN工作流程資源管理器節(jié)點(diǎn)管理器
節(jié)點(diǎn)管理器5|2MapReduce應(yīng)用程序管理器容器6Map任務(wù)
容器6Map任務(wù)
容器6Reduce
任務(wù)容器13s123J8A75911dsP4.1av全局應(yīng)用程序
管理器23
8577資源調(diào)度器客戶端4YARN
的
容
錯(cuò)
性113s12_3J8A73911dspav3punaEun
018A759
YARN
的容錯(cuò)性ResourceManager的容錯(cuò)性保障ResourceManager存在單點(diǎn)故障,但是可以通過(guò)配置實(shí)現(xiàn)ResourceManager
的HA
(高可用);當(dāng)主節(jié)點(diǎn)出現(xiàn)故障時(shí),可以切換到備用節(jié)點(diǎn)繼續(xù)對(duì)外提供服務(wù)。NodeManager
的容錯(cuò)性保障NodeManager失敗之后,ResourceManager會(huì)將失敗的任務(wù)通知對(duì)應(yīng)的ApplicationMaster,
由
ApplicationMaster來(lái)決定如何去處理失敗的任務(wù)。ApplicationMaster
的容錯(cuò)性保障ApplicationMaster
失敗后,由
ResourceManager負(fù)責(zé)重啟即可。其中,ApplicationMaster需要處理內(nèi)部任務(wù)的容錯(cuò)問(wèn)題。ResourceManager會(huì)保存已經(jīng)運(yùn)行的任務(wù),重啟后無(wú)須重新運(yùn)行。YARN的
高
可
用3S1z_3J8A75911dV
3pun22)Zookecper發(fā)送狀態(tài)信息共享數(shù)據(jù)節(jié)點(diǎn)管理器(1)Zookeeper集群Zookeeper2資源管理器狀態(tài)信息發(fā)送狀態(tài)信息共享數(shù)據(jù)節(jié)點(diǎn)管理器(n)3s1Z3J8A73911dsYARN的高可用主備切換控制器資源管理器
(備用的)主備切換控制器資源管理器(活躍的)節(jié)點(diǎn)管理器(2)Zookeeper
nYARN
的
調(diào)
度
器113s12_3J8A73911dspTV
1punat)unpa013S1z3J8A75911d先進(jìn)先出調(diào)度器1V
95ub3s1z
3J8A73911d容量調(diào)度器AV
pun3e)n031Z
3J8A75911公平調(diào)度器utilizationqueue
B(fairshare)queueA(fairshare)time321job
3submittedjob
2
submittedjob1submitted
5unb9Thanks初識(shí)MapReduce113s12_3J8A73911dspTV
1punat)unpa
18A72911dMapReduce
概述MapReduce
是一個(gè)使用簡(jiǎn)單的軟件框架,基于它寫(xiě)出來(lái)的應(yīng)用程序能夠運(yùn)
行在由上千個(gè)商用機(jī)器組成的大型集群上,并以一種可靠容錯(cuò)式并行處理TB級(jí)別的數(shù)據(jù)集。MapReduce是一個(gè)并行程序的計(jì)算模型與方法·MapReduce是一個(gè)并行程序運(yùn)行的軟件框架·MapReduce是一個(gè)基于集群的高性能并行計(jì)算平臺(tái)131123J8A75911dsp4.1av MapReduce
基本設(shè)計(jì)思想分而治之大數(shù)據(jù)計(jì)算任務(wù)任務(wù)劃分子任務(wù)
子任務(wù)子任務(wù)結(jié)果合并計(jì)算結(jié)果子任務(wù)0大量數(shù)據(jù)記錄/元素進(jìn)行重復(fù)處理0對(duì)每個(gè)數(shù)據(jù)記錄/元素做感興趣的
處理、獲取感興趣的中間結(jié)果信息排序和整理中間結(jié)果以利后續(xù)處理
0收集整理中間結(jié)果產(chǎn)生最終結(jié)果輸出MapReduce
基本設(shè)計(jì)思想抽象成模型MapReduce13s123J8A75911dsp4.1av30A75911dp9.1mvMapReduce
基本設(shè)計(jì)思想升到框架MapReduce提供統(tǒng)一計(jì)算框架的主要目標(biāo)是實(shí)現(xiàn)自動(dòng)并行化計(jì)算,為程序員隱藏系統(tǒng)層面的細(xì)節(jié)。計(jì)算任務(wù)的自動(dòng)劃分和調(diào)度。數(shù)據(jù)的自動(dòng)化分布存儲(chǔ)和劃分。處理數(shù)據(jù)與計(jì)算任務(wù)的同步。結(jié)果數(shù)據(jù)的收集整理,如排序,合并,分區(qū)等。系統(tǒng)通信、負(fù)載均衡、計(jì)算性能優(yōu)化。處理系統(tǒng)節(jié)點(diǎn)出錯(cuò)檢測(cè)和失效恢復(fù)。適合PB級(jí)以上數(shù)據(jù)集的離線處理MapReduce
缺點(diǎn)不適合實(shí)時(shí)計(jì)算不適合流式計(jì)算不適合DAG計(jì)算MapReduce
優(yōu)缺點(diǎn)MapReduce的優(yōu)點(diǎn)MapReduce易于編程良好的擴(kuò)展性高容錯(cuò)性7
118A7591tdspeMapReduce的編程模型113s12_3J8A73911dsv
apunaE)
1013SIz.318A7391tdsp4.1avMapReduce
分布式計(jì)算原理Map
階段:(對(duì)任務(wù)分解)Reduce階段:
(對(duì)任務(wù)匯總)Mapper4+5+66+15+24Mapper7+8+9Mapper1+2+34513s1z_318AT3911dsp4.1av
MapReduce編程模型海量存儲(chǔ)數(shù)據(jù)數(shù)據(jù)劃分Map任務(wù)Map任務(wù)Map任務(wù)
Map任務(wù)聚集和混洗Reduce任務(wù)
Reduce任務(wù)
Reduce任務(wù)計(jì)算結(jié)果72
3J8A75911dsp4
y深入剖析MapReduce編程模型背景分析HelloWorldHello
2World
1Hadoop
1HelloHadoop1Z
8A7591tdsp9v深入剖析MapReduce編程模型問(wèn)題思路分析業(yè)務(wù)場(chǎng)景有大量的文件,每個(gè)文件里面存儲(chǔ)的都是單詞。我們的任務(wù)統(tǒng)計(jì)所有文件中每個(gè)單詞出現(xiàn)的次數(shù)。解決思路先分別統(tǒng)計(jì)出每個(gè)文件中各個(gè)單詞出現(xiàn)的次數(shù),然后再累加不同文件中同一個(gè)單詞出現(xiàn)次數(shù)。HelloWorldByeWorld分割<0,“HelloWorld”><12,“ByeWorld”>HelloHadoopByeHadoop分割<0,“HelloHadoop”><13,“Bye
Hadoop”>深入剖析MapReduce編程模型深入剖析MapReduce編程模型
數(shù)據(jù)分割輸入數(shù)據(jù)TasIZ.3J8A7591dsP9
v分割結(jié)果
V978n深入剖析MapReduce
編程模型數(shù)據(jù)處理分割結(jié)果
Z
18A75911dsp9.1nv深入剖析MapReduce編程模型map
方法輸出<Hello,1>
<World,1>
<Bye,1>
<World,1><Hello,1><Hadoop,1><Bye,1><Hadoop,1>Hadoop”>Hadoop”><0,“Hello<12,“Bye<0,“Hello<13,“ByeWorld”>World”>map()13s123J8A75911dsp9.1av
深入剖析MapReduce編程模型
ny
Uunsmap()
方法輸出
排序結(jié)果
Combine輸出<Bye,I>
<Hello,1>Map端
排
序
<World,1><World,I><Bye,I><Hadoop,1>Map
端排序
<Hadoop,1><Hello.1>深入剖析MapReduce編程模型數(shù)據(jù)局部合并<Hello,1>
<World,I>
<Bye,I><World,I><Hello,1><Hadoop,1><Bye,I><Hadoop,I><Bye,I><Hello,I>
<World,2><Bye,1><Hadoop,2>
<Hello,1>Combine過(guò)程>Combine過(guò)
程b
019x
dg
18A76911dspg_
1nv深入剖析MapReduce編程模型深入剖析MapReduce編程模型數(shù)據(jù)聚合Reduce排序<Bye,1><Hadoop,2><Hello,1>Combine
輸出
排序結(jié)果<Bye,1>Reduce輸出<Bye,2><Hadoop,2>
<Hello,2><World,2><Hadoop,list(2)><Hello,list(1,1)>
<World,list(2)><Hello,1><World,2><Bye,list(1,1)>reduce)bMapReduce
運(yùn)行機(jī)制113s12_3J8A73911dsv
1punaE)unp
103摘貝job演源no共享文件系統(tǒng)
(HDFS)135I2318A73911dspa,tav剖析MapReduce作業(yè)運(yùn)行機(jī)制節(jié)點(diǎn)管理器5b拉
起6初始化iob(
MRAppMaster進(jìn)程節(jié)點(diǎn)管理器節(jié)點(diǎn)
7獲取輸入分片10.拉取job資源8.分配資源節(jié)點(diǎn)管理器9b.
拉起任務(wù)JMMYarnChild11.運(yùn)行MapTask
或
ReduceTask節(jié)點(diǎn)管理器節(jié)點(diǎn)2.請(qǐng)求一個(gè)新應(yīng)用ID4提交作業(yè)5a啟動(dòng)contaner
9xdsg(2U512)
agn
2資源管理器資源管理器節(jié)點(diǎn)MapReauce
程
序客戶端節(jié)點(diǎn)1.運(yùn)行job客戶湍JMM9a啟
動(dòng)
containerJ00
對(duì)象7J8A7591作業(yè)失敗與容錯(cuò)任務(wù)容錯(cuò)當(dāng)applicationmaster被告知一個(gè)任務(wù)嘗試失敗后,它將重新調(diào)度該任務(wù)的執(zhí)行。applicationmaster會(huì)試圖避免在之前失敗過(guò)的NodeManager上重新調(diào)度該任務(wù)。此外,如果一個(gè)任務(wù)失敗數(shù)超過(guò)4次,該任務(wù)將不會(huì)再嘗試執(zhí)行。applicationmaster容錯(cuò)ap
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江汽車職業(yè)技術(shù)學(xué)院《影視后期設(shè)計(jì)與制作》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州科技職業(yè)技術(shù)大學(xué)《運(yùn)營(yíng)管理模擬》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆江蘇省徐州市睢寧高中南校高三2月月考試卷物理試題含解析
- 陜西鐵路工程職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)生物學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 古代教育理念對(duì)當(dāng)代的啟示
- 公建項(xiàng)目物業(yè)招標(biāo)流程及標(biāo)準(zhǔn)
- 澳門(mén)廢氣處理施工方案
- 2024年三季度報(bào)湖南地區(qū)A股應(yīng)收賬款周轉(zhuǎn)率排名前十大上市公司
- 遼寧省遼陽(yáng)市2024-2025學(xué)年高三(上)期末生物試卷(含解析)
- 河北省保定市2024-2025學(xué)年高一上學(xué)期1月期末英語(yǔ)試題(B)【含答案】
- 2025年貴州貴安新區(qū)產(chǎn)業(yè)發(fā)展控股集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 鐵路工務(wù)安全規(guī)則+鐵路線路修理規(guī)則
- DBJ51-T 193-2022 四川省金屬與石材幕墻工程技術(shù)標(biāo)準(zhǔn)
- 叉車-復(fù)審證明
- 機(jī)關(guān)事業(yè)單位電話記錄本(來(lái)電)模板
- 工程概算表【模板】
- 鋼絞線力學(xué)性能試驗(yàn)檢測(cè)報(bào)告
- 導(dǎo)游英語(yǔ)課程教學(xué)大綱
- 第四章邊界層理論基礎(chǔ)合肥工業(yè)大學(xué)傳遞過(guò)程基礎(chǔ)
- E4A使用手冊(cè)(DOC)
- ISO9001_2016年[全套]質(zhì)量管理體系文件
評(píng)論
0/150
提交評(píng)論