本篇内容主要讲解“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。