application部署方式是什么

2023-06-09,

本篇内容主要讲解“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部署方式是什么”有了更深的了解,不妨来实际操作一番吧!这里是本站网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!