前言
提示:這里可以添加本文要記錄的大概內(nèi)容:
隨著實(shí)時(shí)計(jì)算需求場(chǎng)景的增加,對(duì)計(jì)算引擎的實(shí)時(shí)計(jì)算要求也越來(lái)越高,而在實(shí)時(shí)計(jì)算方面表現(xiàn)優(yōu)秀的當(dāng)屬flink,計(jì)算引擎從第一代mapreduce到第二代的Tez,再到第三代計(jì)算引擎spark、第四代計(jì)算引擎則是后來(lái)者flink,雖然spark也支持實(shí)時(shí)計(jì)算,但底層的原理實(shí)際上還是微批處理,會(huì)有一個(gè)攢批的過(guò)程,因此在延遲性方面會(huì)稍遜于flink,F(xiàn)link的設(shè)計(jì)思想在于流式處理,把數(shù)據(jù)看做是一種流,批數(shù)據(jù)則是一種特殊的流,所以flink是支持流批一體處理的,延遲性方面能做到比spark還低,最低可達(dá)到毫秒級(jí),本篇內(nèi)容將圍繞具體的環(huán)境安裝部署展開(kāi)。
提示:下面案例僅供參考
一、flink簡(jiǎn)介
flink同spark一樣也是一種計(jì)算引擎,只不過(guò)在流式處理、實(shí)時(shí)計(jì)算方面比spark更為優(yōu)秀,從flink發(fā)布至今已經(jīng)更新到1.18版本,功能也在逐步的迭代完善中,最先開(kāi)始接觸的是flink cdc,由于項(xiàng)目中有實(shí)時(shí)展示數(shù)據(jù)的需求,當(dāng)時(shí)在調(diào)研了幾種cdc方案后,最后決定嘗試flink cdc,就使用體驗(yàn)來(lái)說(shuō),flink對(duì)sql的集成優(yōu)化真的很完善,對(duì)于不熟悉API接口開(kāi)發(fā)的人員,也能快速上手,關(guān)于flink的介紹這里就不再贅述了,后續(xù)會(huì)用案例來(lái)體驗(yàn)它的功能強(qiáng)大之處。
二、安裝部署
1.下載安裝包
登錄flink官網(wǎng)地址https://flink.apache.org/downloads/,選擇flink版本下載安裝包,由于目前集成的依賴包中,支持最新版本的flink是1.17,所以我這邊選擇安裝的版本為1.17版本,以避免一些不必要的問(wèn)題,執(zhí)行以下命令解壓安裝包
tar -zxvf flink-1.17.2-bin-scala_2.12.tgz
提示:由于名稱太長(zhǎng),建議名稱方便后續(xù)路徑配置
mv flink-1.17.2-bin-scala_2.12 flink-1.17
2.配置環(huán)境變量
vim /etc/profile.d/my_env.sh打開(kāi)并編輯環(huán)境變量配置文件,輸入以下內(nèi)容:
export HADOOP_CLASSPATH=`hadoop classpath`
export FLINK_HOME=/application/soft/flink-1.17
export PATH=$PATH:$$FLINK_HOME/bin
文件保存后,執(zhí)行source /etc/profile使環(huán)境變量生效
3.會(huì)話模式部署
在確保hadoop集群?jiǎn)?dòng)的情況下,進(jìn)入flink安裝路徑下,執(zhí)行以下命令以啟動(dòng)會(huì)話模式提示:-d是分離模式運(yùn)行,不會(huì)占用控制臺(tái),-nm是指定名稱的意思
bin/yarn-session.sh -d -nm test
4.單作業(yè)模式部署
單作業(yè)模式跟會(huì)話模式的不同之處在于,在運(yùn)行程序時(shí)向yarn申請(qǐng)資源,程序執(zhí)行結(jié)束后,資源回收,而會(huì)話模式會(huì)一次性向yarn申請(qǐng)資源,并生成一個(gè)常駐線程,兩者各有優(yōu)點(diǎn),可根據(jù)項(xiàng)目不同需求進(jìn)行選擇,執(zhí)行以下命令啟動(dòng)單作業(yè)模式提示:-c后面是運(yùn)行的主類,*.jar是編寫的程序jar包,可根據(jù)不同項(xiàng)目自行修改
bin/flink run -d -t yarn-per-job -c org.example.wordcount Flink-WordCount.jar
5.應(yīng)用模式部署
與單作業(yè)模式類型,也是在執(zhí)行程序是向yarn申請(qǐng)資源,只不過(guò)命令有些區(qū)別,從flink1.1版本后推出,也是目前比較推薦的方式,執(zhí)行以下命令啟動(dòng)應(yīng)用模式部署提示:-c后面是運(yùn)行的主類,*.jar是編寫的程序jar包,可根據(jù)不同項(xiàng)目自行修改
bin/flink run-application -t yarn-application -c org.example.wordcount Flink-WordCount.jar
此處也可以任務(wù)上傳hdfs提交,先在hdfs上分別創(chuàng)建一個(gè)hdfs目錄用于存放flink依賴包和flink運(yùn)行程序
hadoop fs -mkdir /flink-lib
hadoop fs -put $FLINK_HOME/lib /flink_lib
hadoop fs -put $FLINK_HOME/plugins /flink_lib
hadoop fs -mkdir /flink-jar
然后執(zhí)行以下命令運(yùn)行flink任務(wù)提示:-c后面是運(yùn)行的主類,*.jar是編寫的程序jar包,可根據(jù)不同項(xiàng)目自行修改
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-782562.html
bin/flink run-application -t yarn-application -Dyarn.provided.lib.dirs="hdfs://cdp1:8020/flink-lib" -c org.example.wordcount hdfs://cdp1:8020/flink-jar/Flink-WordCount.jar
總結(jié)
至此,flink集群就已經(jīng)安裝部署完成,由于時(shí)間關(guān)系,關(guān)于flink的一些具體功能就不再具體展開(kāi),本篇內(nèi)容旨在搭建一個(gè)flink環(huán)境為后續(xù)編寫flink程序并驗(yàn)證一些功能,隨著flink生態(tài)的不斷完善,越來(lái)越多的開(kāi)發(fā)者了解到flink的強(qiáng)大,flink1.17對(duì)批處理也做了加強(qiáng),在流批一體大一統(tǒng)的方向上又邁出了一大步,另外隨著paimon的推出,flink也在數(shù)據(jù)存儲(chǔ)方面也補(bǔ)齊了自己的缺點(diǎn),避免了一些組件如hudi、iceberg對(duì)flink功能適配的缺失。好了,今天就聊到這里,文章寫的比較倉(cāng)促,難免有疏漏的地方,后續(xù)會(huì)持續(xù)更新修正!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-782562.html
到了這里,關(guān)于Flink1.17版本安裝部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!