單元10 任務(wù)10.1部署本地模式(local)Flink_第1頁
單元10 任務(wù)10.1部署本地模式(local)Flink_第2頁
單元10 任務(wù)10.1部署本地模式(local)Flink_第3頁
單元10 任務(wù)10.1部署本地模式(local)Flink_第4頁
單元10 任務(wù)10.1部署本地模式(local)Flink_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

部署本地模式(local)Flink知識點1Flink介紹任務(wù)10.1部署本地模式Flink【任務(wù)場景】經(jīng)理:在當前的互聯(lián)網(wǎng)用戶,設(shè)備,服務(wù)等激增的時代下,其產(chǎn)生的數(shù)據(jù)量已不可同日而語了。咱們公司子各種業(yè)務(wù)場景都會有著大量的數(shù)據(jù)產(chǎn)生,如何對這些數(shù)據(jù)進行有效地處理是我們需要考慮的問題。小張:以往我們所使用的MapReduce,Spark等框架可能在某些場景下已經(jīng)沒法完全地滿足用戶的需求,無論是代碼量或者架構(gòu)的復雜程度可能都沒法滿足預期的需求。經(jīng)理:新場景的出現(xiàn)催生新的技術(shù),F(xiàn)link即為實時流的處理提供了新的選擇。ApacheFlink就是近些年來在社區(qū)中比較活躍的分布式處理框架,F(xiàn)link相對簡單的編程模型加上其高吞吐、低延遲、高性能的特性,讓它在工業(yè)生產(chǎn)中較為出眾。Flink極有可能會成為企業(yè)內(nèi)部主流的數(shù)據(jù)處理框架,最終成為下一代大數(shù)據(jù)處理標準。為解決公司當前面臨的數(shù)據(jù)處理問題,盡快把Flink技術(shù)用起來。小張:好的,我盡快基于我們當前的數(shù)據(jù)平臺部署好Flink。任務(wù)10.1部署本地模式Flink【任務(wù)布置】本任務(wù)要求在理解Flink原理的基礎(chǔ)上,完成Flink的本地模式部署,以本地模式啟動Flink客戶端窗口。知識點1:

Flink介紹ApacheFlink是由Apache軟件基金會開發(fā)的開源流處理框架,其核心是用Java和Scala編寫的分布式流數(shù)據(jù)流引擎。Flink以數(shù)據(jù)并行和流水線方式執(zhí)行任意流數(shù)據(jù)程序,F(xiàn)link的流水線運行時系統(tǒng)可以執(zhí)行批處理和流處理程序。此外,F(xiàn)link的運行時本身也支持迭代算法的執(zhí)行。2014年12月,F(xiàn)link一躍成為Apache軟件基金會的頂級項目。在德語中,F(xiàn)link一詞表示快速和靈巧,項目采用一只松鼠的彩色圖案作為logo,這不僅是因為松鼠具有快速和靈巧的特點,還因為柏林的松鼠有一種迷人的紅棕色,而Flink的松鼠logo擁有可愛的尾巴,尾巴的顏色與Apache軟件基金會的logo顏色相呼應,也就是說,這是一只Apache風格的松鼠。知識點1:Flink介紹Flink項目的理念是:“ApacheFlink是為分布式、高性能、隨時可用以及準確的流處理應用程序打造的開源流處理框架”。ApacheFlink是一個框架和分布式處理引擎,用于對無界和有界數(shù)據(jù)流進行有狀態(tài)計算。Flink被設(shè)計在所有常見的集群環(huán)境中運行,以內(nèi)存執(zhí)行速度和任意規(guī)模來執(zhí)行計算。Flink的主要特點包括:1.事件驅(qū)動型(Event-driven)事件驅(qū)動型應用是一類具有狀態(tài)的應用,它從一個或多個事件流提取數(shù)據(jù),并根據(jù)到來的事件觸發(fā)計算、狀態(tài)更新或其他外部動作。比較典型的就是以kafka為代表的消息隊列幾乎都是事件驅(qū)動型應用。與之不同的就是SparkStreaming微批次,Spark的數(shù)據(jù)批處理過程如下圖所示:知識點1:Flink介紹Flink事件驅(qū)動型的流式數(shù)據(jù)處理過程如下圖所示:知識點1:Flink介紹2.分層APIFlink中提供了4種不同層次的API,如右側(cè)圖所示:?低級API(statefulstreamprocessing):提供了對時間和狀態(tài)的細粒度控制,簡潔性和易用性較差,主要應用在對一些復雜事件的處理邏輯上。?核心API(datastream&&datasetapi):主要提供了針對流數(shù)據(jù)和離線數(shù)據(jù)的處理,對低級API進行了一些封裝,提供了filter、sum、max、min等高級函數(shù),簡單且易用,所以在工作中應用比較廣泛。?TableAPI:一般與DataSet或者DataStream緊密關(guān)聯(lián),首先通過一個DataSet或DataStream創(chuàng)建出一個Table;然后用類似于filter、join或者select關(guān)系型轉(zhuǎn)化操作來轉(zhuǎn)化為一個新的Table對象;最后將一個Table對象轉(zhuǎn)回一個DataSet或DataStream。與SQL不同的是,TableAPI的查詢不是一個指定的SQL字符串,而是調(diào)用指定的API方法。?SQL:Flink的SQL集成是基于ApacheCalcite的,ApacheCalcite實現(xiàn)了標準的SQL,使用起來比其他API更加靈活,因為可以直接使用SQL語句。TableAPI和SQL可以很容易地結(jié)合在一塊使用,它們都返回Table對象。知識點1:Flink介紹最底層級的抽象僅僅提供了有狀態(tài)流,它將通過過程函數(shù)(ProcessFunction)被嵌入到DataStreamAPI中。底層過程函數(shù)(ProcessFunction)與DataStreamAPI相集成,使其可以對某些特定的操作進行底層的抽象,它允許用戶可以自由地處理來自一個或多個數(shù)據(jù)流的事件,并使用一致的容錯的狀態(tài)。Flink提供的最高層級的抽象是SQL。這一層抽象在語法與表達能力上與TableAPI類似,但是是以SQL查詢表達式的形式表現(xiàn)程序。SQL抽象與TableAPI交互密切,同時SQL查詢可以直接在TableAPI定義的表上執(zhí)行。目前Flink作為批處理還不是主流,不如Spark成熟,所以DataSet使用的并不是很多。FlinkTableAPI和FlinkSQL也并不完善,大多都由各大廠商自己定制。所以我們主要學習DataStreamAPI的使用。實際上Flink作為最接近GoogleDataFlow模型的實現(xiàn),是流批統(tǒng)一的觀點,所以基本上使用DataStream就可以了。知識點1:Flink介紹Flink任務(wù)執(zhí)行流程:知識點2:Flink部署模式介紹Flink一般有三種部署模式,分別是本地模式(local)、獨立集群模式(Standalone)和Flinkonyarn等模式。這三種模式中本地模式(local),是指在單節(jié)點上部署Flink,通常不需要修改任何配置文件,直接運行即可。知識點2:Flink部署模式介紹Flink部署后,進程啟動關(guān)閉等相關(guān)命令都存放在Flink的bin目錄下,配置環(huán)境變量后即可在任意目錄下使用。常用的命令如下表所示:編號命令作用1start-cluster.sh啟動Flink所有進程2stop-cluster.sh關(guān)閉Flink所有進程3taskmanager.shstart|stop啟動/關(guān)閉從節(jié)點taskmanager進程4jobmanager.shstart|stop啟動/關(guān)閉從節(jié)點jobmanager進程知識點2:Flink部署模式介紹啟動Flink客戶端的命令是start-scala-shell.sh,針對三種不同的部署方法有三種用法,如下表所示:編號模式命令用法1Local模式start-scala-shell.shlocal2Standalone模式start-scala-shell.sh主節(jié)點

端口號3yarn模式start-scala-shell.shyarnFlink本地模式部署流程【工作流程】

搭建本地模式(local)的Flink基本工作流程包括:1.解壓Flink安裝包;2.配置環(huán)境變量;3.啟動Flink;4.采用local方式啟動Flink的scalashell。1.解壓Flink安裝包在Flink的官網(wǎng)下載安裝包并解壓,本項目選擇的是和Hadoop3.x版本兼容的版本flink-1.12.5-bin-scala_2.11.tgz。將安裝包拷貝到Linux系統(tǒng)下,解壓安裝包到/opt目錄并改為短名:[root@master01opt]#$tar-xzvfflink-1.12.5-bin-scala_2.11.tgz-C/opt[root@master01opt]#$mvflink-1.12.5-bin-scala_2.11flinkFlink本地模式部署流程2.配置Flink環(huán)境變量在終端運行命令打開文件/etc/profile,添加以下幾行配置信息:exportFLINK_HOME=/opt/flinkexportPATH=$PATH:$FLINK_HOME/bin運行以下命令,使設(shè)置生效:[root@master01opt]#source/etc/profile3.啟動Flink;在終端執(zhí)行以下命令,啟動Flink進程[root@master01opt]#start-cluster.shFlink本地模式部署流程4.本地模式啟動Flink的scalashell啟動Fl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論