开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

fink yarn-application 模式 不能跑 sql作业么?只能提交jar?

fink yarn-application 模式 不能跑 sql作业么?只能提交jar? 我查了很多都是不行呀。

展开
收起
防火防爆 2024-08-17 15:19:47 29 0
2 条回答
写回答
取消 提交回答
  • lQLPKIKsV4wUxPfNATzNA36wdBpOQ64SzpYGpWFg8erUAA_894_316.png
    。此回答整理自钉钉群“【②群】Apache Flink China社区”

    2024-08-28 11:27:16
    赞同 展开评论 打赏
  • Flink Application
    对于per job模式,jar包的解析、生成JobGraph是在客户端上执行的,然后将生成的jobgraph提交到集群。如果任务特别多的话,那么这些生成JobGraph、提交到集群的操作都会在实时平台所在的机器上执行,那么将会给服务器造成很大的压力。

    此外这种模式提交任务的时候会把本地flink的所有jar包先上传到hdfs上相应 的临时目录,这个也会带来大量的网络的开销,所以如果任务特别多的情况下,平台的吞吐量将会直线下降。

    所以针对flink per job模式的一些问题,flink 引入了一个新的部署模式–Application模式。 目前 Application 模式支持 Yarn 和 K8s 的部署方式,Yarn Application 模式会在客户端将运行任务需要的依赖都上传到 Flink Master,然后在 Master 端进行任务的提交。

    此外,还支持远程的用户jar包来提交任务,比如可以将jar放到hdfs上,进一步减少上传jar所需的时间,从而减少部署作业的时间。

    提交方法如下:

    jar包提交

    那么可以将以上代码打成jar包,然后提交运行的方式进行处理。

    bin/flink run -yd -m yarn-cluster -c com.starnet.server.bigdata.flink.WordCount /home/bd/FLINK/FlinkTest-1.0-SNAPSHOT-jar-with-dependencies.jar

    /opt/module/flink-1.11.4/bin/flink run -yd -m yarn-cluster -c com.starnet.server.bigdata.flink.WordCount -yD yarn.provided.lib.dirs="hdfs://hadoop113:8020/jar/flink11/libs" /home/bd/FLINK/Flink1.11-1.0-SNAPSHOT-jar-with-dependencies.jar
    1
    2
    3
    通过jar提交成功之后,控制台输出如下:

    2021-09-26 18:00:54,129 INFO org.apache.flink.yarn.YarnClusterDescriptor [] - YARN application has been deployed successfully.
    2021-09-26 18:00:54,529 INFO org.apache.flink.yarn.YarnClusterDescriptor [] - Found Web Interface hadoop115:35553 of application 'application_1631184398602_0055'.
    1
    2
    优雅退出和web访问均与以上相同。
    image.png
    参考文档https://blog.csdn.net/clearlxj/article/details/120560174

    2024-08-18 09:44:54
    赞同 1 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载