版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
集群環(huán)境準(zhǔn)備目錄/Contents01系統(tǒng)環(huán)境配置02JDK安裝03Hadoop集群部署04ZooKeeper集群部署05Scala安裝系統(tǒng)環(huán)境配置01系統(tǒng)環(huán)境配置1.安裝linux系統(tǒng):Centos關(guān)于系統(tǒng)的安裝這里不做詳細(xì)的介紹,本次安裝的系統(tǒng)為centos7,可以在阿里鏡像鏡像網(wǎng)站(/centos/7/isos/x86_64/)或者官網(wǎng)(/download/)下載鏡像。使用的軟件:VMwareWorkstation系統(tǒng)安裝要求:無桌面版最小化安裝網(wǎng)絡(luò)連接方式:NAT內(nèi)存2G及以上磁盤大小30G及以上CPU1核以上2.網(wǎng)絡(luò)環(huán)境配置在系統(tǒng)安裝完成后需要配置虛擬機(jī)的網(wǎng)卡信息。(1)NAT信息查看①打開VMware②找到菜單欄中的“編輯”,選擇“虛擬網(wǎng)絡(luò)編輯器”③選擇VMnet8,NAT設(shè)置(2)打開虛擬機(jī)命令行界面,修改網(wǎng)卡信息系統(tǒng)環(huán)境配置3.配置防火墻CentOS7默認(rèn)使用的是firewall作為防火墻。firewall操作:#servicefirewalldstatus;#查看防火墻狀態(tài)(disabled表明已經(jīng)禁止開啟啟動enable表示開機(jī)自啟,inactive表示防火墻關(guān)閉狀態(tài)activated(running)表示為開啟狀態(tài))4.主機(jī)名修改vi與vimvi編輯器是所有Unix及Linux系統(tǒng)下標(biāo)準(zhǔn)的編輯器,他就相當(dāng)于windows系統(tǒng)中的記事本一樣,它的強(qiáng)大不遜色于任何最新的文本編輯器。他是我們使用Linux系統(tǒng)不能缺少的工具。由于對Unix及Linux系統(tǒng)的任何版本,vi編輯器是完全相同的,學(xué)會它后,你將在Linux的世界里暢行無阻。vim具有程序編輯的能力,可以以字體顏色辨別語法的正確性,方便程序設(shè)計,因?yàn)槌绦蚝唵?,編輯速度相?dāng)快速。JDK安裝02JDK安裝1.面向?qū)ο缶幊陶Z言——JavaJava是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,方便程序員以面向?qū)ο蟮乃季S方式進(jìn)行復(fù)雜的編程。Java具有簡單性、面向?qū)ο?、分布式、健壯性、安全性、平臺獨(dú)立與可移植性、多線程、動態(tài)性等特點(diǎn)。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。Storm2.JDKJDK(JavaDevelopmentKit)是Java語言的軟件開發(fā)工具包,主要用于移動設(shè)備、嵌入式設(shè)備上的Java應(yīng)用程序。JDK是整個Java開發(fā)的核心,它包含了Java的運(yùn)行環(huán)境(JVM+Java系統(tǒng)類庫)和Java工具。JDK包含的基本組件包括:javac:編譯器,將源程序轉(zhuǎn)成字節(jié)碼。jar:打包工具,將相關(guān)的類文件打包成一個文件。javadoc:文檔生成器,從源碼注釋中提取文檔。jdb:debugger,查錯工具。java:運(yùn)行編譯后的Java程序(.class后綴的)。appletviewer:小程序?yàn)g覽器,一種執(zhí)行HTML文件上的Java小程序的Java瀏覽器。Javah:產(chǎn)生可以調(diào)用Java過程的C過程,或建立能被Java程序調(diào)用的C過程的頭文件。Javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時顯示字節(jié)代碼含義。Jconsole:Java進(jìn)行系統(tǒng)調(diào)試和監(jiān)控的工具。JDK安裝3.JREJRE(JavaRuntimeEnvironment)Java運(yùn)行環(huán)境,包括兩部分:JavaRuntimeEnvironment和JavaPlug-in。JRE是可以在其上運(yùn)行、測試和傳輸應(yīng)用程序的Java平臺。它包括JVM(Java虛擬機(jī))、Java核心類庫和支持文件。它不包含開發(fā)工具(JDK)——編譯器、調(diào)試器和其它工具。JRE需要輔助軟件(JavaPlug-in)以便在瀏覽器中運(yùn)行applet。JRE可以支撐Java程序的運(yùn)行,包括JVM虛擬機(jī)(java.exe等)和基本的類庫(rt.jar等),JDK可以支持Java程序的開發(fā),包括編譯器(javac.exe)、開發(fā)工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和更多的類庫(如tools.jar)等。Storm4.JDK安裝Hadoop采用的開發(fā)語言是Java,所以搭建Hadoop集群的前提是先安裝JDK。本書選擇的JDK版本是Oracle官方的JDK8,這里使用的是tar.gz安裝包(/technetwork/java/javase/downloads/java-archive-javase8-2177648.html)Hadoop集群部署03Hadoop集群部署Hadoop集群部署1.基礎(chǔ)環(huán)境配置搭建Hadoop集群需要配置以下信息:①配置虛擬機(jī)網(wǎng)絡(luò)(NAT聯(lián)網(wǎng)方式)②網(wǎng)卡信息修改③主機(jī)名修改④主機(jī)名與IP映射⑤關(guān)閉防火墻⑥ssh免密登錄⑦JDK安裝⑧同步集群時間根據(jù)1.1.1與1.1.2節(jié)中的內(nèi)容完成①②③⑤⑦這五個操作,在配置完成后開始主機(jī)名與IP映射、ssh免密登錄、同步集群時間的操作。ZooKeeper集群部署04ZooKeeper集群部署ZooKeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個開源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。Flink(1)安裝包下載(2)配置zoo.cfg文件(3)myid文件(4)環(huán)境變量配置(5)安裝包分發(fā)(6)啟動集群(7)驗(yàn)證Scala安裝05Scala安裝spark是處理大數(shù)據(jù)的開源框架,底層是使用scala腳本語言開發(fā),對scala支持最好,同時支持java、python、r語言等。scala是一種綜合了面向?qū)ο蠛秃瘮?shù)式編程概念的靜態(tài)類型的多范式編程語言。Scala運(yùn)行于Java平臺(Java虛擬機(jī)),并兼容現(xiàn)有的Java程序。本節(jié)主要講解Linux中Scala的安裝與配置。Flink(1)安裝包下載解壓(2)環(huán)境變量配置(3)安裝文件分發(fā)(4)驗(yàn)證感謝大家的聆聽Spark環(huán)境搭建目錄/Contents01
Standalone模式部署02JDK安裝03Hadoop集群部署04
ZooKeeper集群部署05Scala安裝
Standalone模式部署01
Standalone模式部署即獨(dú)立模式,自帶完整的服務(wù),可單獨(dú)部署到一個集群中,無需依賴任何其他資源管理系統(tǒng)。從一定程度上說,該模式是其他兩種的基礎(chǔ)。借鑒Spark開發(fā)模式,我們可以得到一種開發(fā)新型計算框架的一般思路:先設(shè)計出它的standalone模式,為了快速開發(fā),起初不需要考慮服務(wù)(比如master/slave)的容錯性,之后再開發(fā)相應(yīng)的wrapper,將stanlone模式下的服務(wù)原封不動的部署到資源管理系統(tǒng)yarn或者mesos上,由資源管理系統(tǒng)負(fù)責(zé)服務(wù)本身的容錯。目前Spark在standalone模式下是沒有任何單點(diǎn)故障問題的,這是借助zookeeper實(shí)現(xiàn)的,思想類似于HBasemaster單點(diǎn)故障解決方案。將Sparkstandalone與MapReduce比較,會發(fā)現(xiàn)它們兩個在架構(gòu)上是完全一致的:
Standalone模式部署1.下載安裝spark2.配置spark在spark官網(wǎng)下載tar.gz安裝包,本節(jié)使用的是spark2.3.2。在下載安裝包時需要對應(yīng)好Hadoop的版本,本書使用的是Hadoop2.7.4安裝包解壓完成后需要進(jìn)行相關(guān)的配置,可以在一臺機(jī)器上配置好之后使用scp命令copy到其他機(jī)器上,在配置之前需要將四臺虛擬機(jī)關(guān)機(jī)后做一個快照,方便后面兩種模式的部署。SparkonYARN模式部署02SparkonYARN模式部署這是一種很有前景的部署模式。但限于YARN自身的發(fā)展,目前僅支持粗粒度模式(Coarse-grainedMode)。這是由于YARN上的Container資源是不可以動態(tài)伸縮的,一旦Container啟動之后,可使用的資源不能再發(fā)生變化,不過這個已經(jīng)在YARN計劃中了。sparkonyarn支持兩種模式:1)yarn-cluster:適用于生產(chǎn)環(huán)境;2)yarn-client:適用于交互、調(diào)試,希望立即看到app的輸出SparkonYARN模式部署安裝包下載解壓2.配置spark-env.sh3.重命名slaves.template文件4.配置slaves文件5.環(huán)境變量配置6.文件分發(fā)7.啟動集群8.驗(yàn)證9.運(yùn)行實(shí)例10.任務(wù)監(jiān)控SparkHA集群部署03SparkHA集群部署SparkStandalone集群是Master-Slaves架構(gòu)的集群模式,和大部分的Master-Slaves結(jié)構(gòu)集群一樣,存在著Master單點(diǎn)故障的問題。如何解決這個單點(diǎn)故障的問題,Spark提供了兩種方案:(1)基于文件系統(tǒng)的單點(diǎn)恢復(fù)(Single-NodeRecoverywithLocalFileSystem)。主要用于開發(fā)或測試環(huán)境。當(dāng)spark提供目錄保存sparkApplication和worker的注冊信息,并將他們的恢復(fù)狀態(tài)寫入該目錄中,這時,一旦Master發(fā)生故障,就可以通過重新啟動Master進(jìn)程(sbin/start-master.sh),恢復(fù)已運(yùn)行的sparkApplication和worker的注冊信息。(2)基于zookeeper的StandbyMasters(StandbyMasterswithZooKeeper)。用于生產(chǎn)模式。其基本原理是通過zookeeper來選舉一個Master,其他的Master處于Standby狀態(tài)。將spark集群連接到同一個ZooKeeper實(shí)例并啟動多個Master,利用zookeeper提供的選舉和狀態(tài)保存功能,可以使一個Master被選舉成活著的master,而其他Master處于Standby狀態(tài)。如果現(xiàn)任Master死去,另一個Master會通過選舉產(chǎn)生,并恢復(fù)到舊的Master狀態(tài),然后恢復(fù)調(diào)度。整個恢復(fù)過程可能要1-2分鐘。SparkHA集群部署下載解壓安裝包2.配置spark-env.sh3.重命名slaves.template文件4.配置slaves文件5.環(huán)境變量配置6.文件分發(fā)7.啟動集群8.驗(yàn)證感謝大家的聆聽Spark運(yùn)行架構(gòu)與原理目錄/Contents01基本概念02Spark集群運(yùn)行架構(gòu)03Spark運(yùn)行基本流程基本概念01基本概念Spark運(yùn)行架構(gòu)包括集群資源管理器(ClusterManager)、運(yùn)行作業(yè)任務(wù)的工作節(jié)點(diǎn)(WorkerNode)、每個應(yīng)用的任務(wù)控制節(jié)點(diǎn)(Driver)和每個工作節(jié)點(diǎn)上負(fù)責(zé)具體任務(wù)的執(zhí)行進(jìn)程(Executor)。其中,集群資源管理器可以是Spark自帶的資源管理器,也可以是YARN或Mesos等資源管理框架。與HadoopMapReduce計算框架相比,Spark所采用的Executor有兩個優(yōu)點(diǎn):一是利用多線程來執(zhí)行具體的任務(wù)(HadoopMapReduce采用的是進(jìn)程模型),減少任務(wù)的啟動開銷;二是Executor中有一個BlockManager存儲模塊,會將內(nèi)存和磁盤共同作為存儲設(shè)備,當(dāng)需要多輪迭代計算時,可以將中間結(jié)果存儲到這個存儲模塊里,下次需要時,就可以直接讀該存儲模塊里的數(shù)據(jù),而不需要讀寫到HDFS等文件系統(tǒng)里,因而有效減少了IO開銷;或者在交互式查詢場景下,預(yù)先將表緩存到該存儲系統(tǒng)上,從而可以提高讀寫IO性能。
Standalone模式部署ApplicationDriver用戶編寫的Spark應(yīng)用程序,包含了DriverProgram以及在集群上運(yùn)行的程序代碼,物理機(jī)器上涉及了driver,master,worker三個節(jié)點(diǎn)。
Spark中的Driver即運(yùn)行Application的main函數(shù)并創(chuàng)建SparkContext,創(chuàng)建SparkContext的目的是為了準(zhǔn)備Spark應(yīng)用程序的運(yùn)行環(huán)境,在Spark中由SparkContext負(fù)責(zé)與ClusterManager通信,進(jìn)行資源申請、任務(wù)的分配和監(jiān)控等,當(dāng)Executor部分運(yùn)行完畢后,Driver同時負(fù)責(zé)將SparkContext關(guān)閉。
Standalone模式部署WorkerExecutor集群中任何一個可以運(yùn)行spark應(yīng)用代碼的節(jié)點(diǎn)。Worker就是物理節(jié)點(diǎn),可以在上面啟動Executor進(jìn)程。在每個Worker上為某應(yīng)用啟動的一個進(jìn)程,該進(jìn)程負(fù)責(zé)運(yùn)行Task,并且負(fù)責(zé)將數(shù)據(jù)存在內(nèi)存或者磁盤上,每個任務(wù)都有各自獨(dú)立的Executor。Executor是一個執(zhí)行Task的容器。RDDRDD(ResilientDistributedDataset)叫做彈性分布式數(shù)據(jù)集,是Spark中最基本的數(shù)據(jù)抽象,它代表一個不可變、可分區(qū)、里面的元素可并行計算的集合。
Standalone模式部署TaskJob被送到某個Executor上的工作單元,但hadoopMR中的MapTask和ReduceTask概念一樣,是運(yùn)行Application的基本單位,多個Task組成一個Stage,而Task的調(diào)度和管理等是由TaskScheduler負(fù)責(zé)。包含多個Task組成的并行計算,往往由SparkAction觸發(fā)生成,一個Application中往往會產(chǎn)生多個Job。Stage每個Job會被拆分成多組Task,作為一個TaskSet,其名稱為Stage,Stage的劃分和調(diào)度是有DAGScheduler來負(fù)責(zé)的,Stage有非最終的Stage(ShuffleMapStage)和最終的Stage(ResultStage)兩種,Stage的邊界就是發(fā)生shuffle的地方。Spark集群運(yùn)行架構(gòu)02Spark集群運(yùn)行架構(gòu)Spark是基于內(nèi)存計算的大數(shù)據(jù)并行計算框架,比MapReduce計算框架具有更高的實(shí)時性,同時具有高效容錯性和可伸縮性,在學(xué)習(xí)Spark操作之前,首先介紹Sprk運(yùn)行架構(gòu)。Spark運(yùn)行基本流程03Spark運(yùn)行基本流程Spark運(yùn)行架構(gòu)主要由SparkContext、ClusterManagaer和Worker組成,其中ClusterManager負(fù)責(zé)整個集群的同一資源管理,Worker節(jié)點(diǎn)中的Executor是應(yīng)用執(zhí)行的主要進(jìn)程,內(nèi)部含有多個Task線程以及內(nèi)存空間。Spark運(yùn)行基本流程1)構(gòu)建SparkApplication的運(yùn)行環(huán)境(啟動SparkContext),SparkContext向ClusterManager注冊,并申請運(yùn)行Executor資源。2)ClusterManager為Executor分配資源并啟動Executor進(jìn)程,Executor運(yùn)行情況將隨著“心跳”發(fā)送到ClusterManager上。3)SparkContext構(gòu)建DAG圖,將DAG圖分解成多個Stage,并把每個Stage的TaskSet(任務(wù)集)發(fā)送給TaskScheduler(任務(wù)調(diào)度器)。Executor向SparkContext申請Task,TaskScheduler將Task發(fā)放給Executor,同時,SparkContext將應(yīng)用程序代碼發(fā)放給Executor。4)Task在Executor上運(yùn)行,把執(zhí)行結(jié)果反饋給TaskScheduler,然后再反饋給DAGScheduler。運(yùn)行完畢后寫入數(shù)據(jù),SparkContext向ClusterManager注銷并釋放所有資源。感
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年廣東機(jī)電職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試備考題庫含詳細(xì)答案解析
- 2026年廣西自然資源職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試備考題庫含詳細(xì)答案解析
- 2026年新疆科信職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 2026年北京戲曲藝術(shù)職業(yè)學(xué)院單招職業(yè)技能考試參考題庫含詳細(xì)答案解析
- 2026年北京社會管理職業(yè)學(xué)院單招綜合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年酒泉職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試參考題庫含詳細(xì)答案解析
- 2026年黑龍江護(hù)理高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試備考題庫及答案詳細(xì)解析
- 2026年長春早期教育職業(yè)學(xué)院單招綜合素質(zhì)筆試模擬試題含詳細(xì)答案解析
- 2026年黑龍江農(nóng)墾職業(yè)學(xué)院單招綜合素質(zhì)筆試參考題庫含詳細(xì)答案解析
- 2026年韶關(guān)學(xué)院單招職業(yè)技能考試模擬試題含詳細(xì)答案解析
- 河堤植草護(hù)坡施工方案
- 2025中國氫能源產(chǎn)業(yè)發(fā)展現(xiàn)狀分析及技術(shù)突破與投資可行性報告
- 農(nóng)村墓地用地協(xié)議書
- 易科美激光技術(shù)家用美容儀領(lǐng)域細(xì)胞級應(yīng)用白皮書
- 人工智能訓(xùn)練師 【四級單選】職業(yè)技能考評理論題庫 含答案
- 《四川省歷史建筑修繕技術(shù)標(biāo)準(zhǔn)》
- 初中語文詞性題目及答案
- 醫(yī)院電梯設(shè)備安全培訓(xùn)課件
- 排水系統(tǒng)運(yùn)維人員培訓(xùn)方案
- 2023-2024學(xué)年五年級數(shù)學(xué)上冊-第三單元《小數(shù)除法列豎式計算》典型例題練習(xí)(含答案)
- (2025年標(biāo)準(zhǔn))sm調(diào)教協(xié)議書
評論
0/150
提交評論