您好,登錄后才能下訂單哦!
本篇內容主要講解“application部署方式是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“application部署方式是什么”吧!
run-application模式
(此方式一勞永逸,節省資源+數據隔離,集群之間不會相互影響)
①,將自己的項目jar包 和 flink鏡像 打在一起生成新的鏡像(默認jdk是1.8,如果有jdk版本要求可將jdk的home目錄一起打進鏡像,然后通過配置文件內添加參數 env.java.home: /opt/flink/jdk-11.0.10+0 來指定jdk )
Dockerfile:
FROM flink RUN mkdir -p /opt/flink/usrlib COPY matest.jar /opt/flink/usrlib/matest.jar COPY jdk-11.0.10+0 /opt/flink/jdk-11.0.10+0 //RUN echo "env.java.home=/opt/flink/jdk-11.0.10+0" > /opt/flink/conf/flink-conf.yaml
②,構建鏡像
docker build -t wordcount:1.0(你的鏡像自定義名字) ./
③,如果有本地倉庫的push到本地倉庫,這樣其他kubernetes的節點就不需要手動拷貝鏡像了
docker tag wordcount:1.0 192.168.xx.xx:30002/gtcom/wordcount:1.0 docker push 192.168.xx.xx:30002/gtcom/wordcount:1.0
④,創建kubernets命名空間
kubectl create namespace flink-application-cluster
⑤,創建該空間的用戶 flink (自定義)
kubectl create serviceaccount flink -n flink-application-cluster
⑥,給該用戶賦權(不創建用戶和賦權啟動時候會報 權限 錯)
kubectl create clusterrolebinding flink-role-binding-flink \ --clusterrole=edit \ --serviceaccount=flink-application-cluster:flink
⑦,到你服務器flink的home目錄下,用flink命令 啟動集群
bin/flink run-application --target kubernetes-application \ -Dkubernetes.cluster-id=gtcom-application-cluster(自定義任務名稱,否則會自動創建) \ -Dkubernetes.namespace=flink-application-cluster \ -Dkubernetes.service-account=flink \ -Dkubernetes.container.image= 192.168.xx.xx:30002/gtcom/wordcount:1.0 \ local:///opt/flink/usrlib/gtcom-governance-2.3.0.jar --driverType AccessGovern --flow news --topicName flink-index --kafkaParallelism 3 --sinkParallelism 3
(從“--driverType” 開始是你的jar包需要傳遞的一些自定義參數)
提供一些圖片:
到此,相信大家對“application部署方式是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。