返回顶部
首页 > 资讯 > 精选 >SpringBoot怎么集成Flink的部署与打包
  • 197
分享到

SpringBoot怎么集成Flink的部署与打包

2023-06-30 15:06:56 197人浏览 薄情痞子
摘要

本文小编为大家详细介绍“SpringBoot怎么集成flink的部署与打包”,内容详细,步骤清晰,细节处理妥当,希望这篇“springBoot怎么集成Flink的部署与打包”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知

本文小编为大家详细介绍“SpringBoot怎么集成flink的部署与打包”,内容详细,步骤清晰,细节处理妥当,希望这篇“springBoot怎么集成Flink的部署与打包”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一、SpringBoot集成Flink

其实没什么特别的,就把Flink依赖的包在pom引入就行了。只是FlinkTask的写法要小调整下,把相关依赖交给spring管理就行。

然后如果放弃Flink的Dashboard端监控task执行相关信息,那也可以在SpringBoot的启动类里调用就行,但是可能出现task的相关对象没有注入,这种都是小问题(实际就是springboot启动完成再调用,或者通过自动任务调用。也可以在springBoot的入口类用@ComponentScan注解扫描flinkTask所在的目录)。

实际更潇洒一点的做法可以将flinkTask的信息存表,通过springBoot的接口调用restfullapi接口,接口里调用task,甚至可以做task的启停、线程监控(接口里开线程调用task)。

二、FlinkTask写法调整

@Component@Slf4jpublic class JianGongStopCarTask {    public static void main(String[] args) throws Exception {        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();        DataStream<JGParkingLotInfo> dataStream = env.addSource(new JGParkingLotInfoSource());//       获取到数据之后转换格式  此处不做转换        SingleOutputStreamOperator<JGParkingLotInfo> jgParkingLotInfoSingleOutputStreamOperator = dataStream.map(jgParkingLotInfo -> jgParkingLotInfo);        jgParkingLotInfoSingleOutputStreamOperator.addSink(new SinkToMySQL());        env.execute();    }}

PS:

实际就是@Component这个注解,然后这个示例里的JGParkingLotInfoSource、SinkToMysql类都需要加这个注解。其他就没有什么调整了,然后如果还有其他依赖没有,使用hutool的SpringUtil进行get对象就行。

三、打包插件

<plugins>      <!-- 编译插件 -->      <plugin>        <artifactId>Maven-compiler-plugin</artifactId>        <configuration>          <source>1.8</source>          <target>1.8</target>          <encoding>UTF-8</encoding>        </configuration>      </plugin>      <!--  spring boot 项目打包       <plugin>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-maven-plugin</artifactId>       </plugin>-->      <!-- Flink打包方式一 -->      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-assembly-plugin</artifactId>        <version>3.3.0</version>        <configuration>          <arcHive>            <manifest>              <mainClass>com.easylinkin.dc.olap.JianGongStopCarTask</mainClass>            </manifest>          </archive>          <!-- 打包依赖 -->          <descriptorRefs>            <descriptorRef>jar-with-dependencies</descriptorRef>          </descriptorRefs>        </configuration>        <executions>          <execution>            <id>make-assembly</id>            <phase>package</phase>            <goals>              <goal>single</goal>            </goals>          </execution>        </executions>      </plugin>      <!-- flink打包方式二      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-shade-plugin</artifactId>        <version>3.3.0</version>        <executions>          <execution>            <phase>package</phase>            <goals>              <goal>shade</goal>            </goals>            <configuration>              <createDependencyReducedPom>false</createDependencyReducedPom>              <artifactSet>                <excludes>                  <exclude>com.google.code.findbugs:jsr305</exclude>                  <exclude>org.slf4j:*</exclude>                  <exclude>log4j:*</exclude>                </excludes>              </artifactSet>              <filters>                <filter>                  <artifact>*:*</artifact>                  <excludes>                    <exclude>module-info.class</exclude>                    <exclude>META-INF/*.SF</exclude>                    <exclude>META-INF/*.DSA</exclude>                    <exclude>META-INF/*.RSA</exclude>                  </excludes>                </filter>              </filters>              <transfORMers>                <transformer                  implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">                  <resource>META-INF/spring.handlers</resource>                  <resource>reference.conf</resource>                </transformer>                <transformer                  implementation="org.springframework.boot.maven.PropertiesMergingResourceTransformer">                  <resource>META-INF/spring.factories</resource>                </transformer>                <transformer                  implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">                  <resource>META-INF/spring.schemas</resource>                </transformer>                <transformer                  implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>                <transformer                  implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">                  <mainClass>com.easylinkin.dc.olap.JianGongStopCarTask</mainClass>                </transformer>              </transformers>            </configuration>          </execution>        </executions>      </plugin>      -->      <!-- flink打包方式三      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-jar-plugin</artifactId>        <configuration>          <archive>            <manifest>              <mainClass>com.easylinkin.dc.olap.JianGongStopCarTask</mainClass>              <useUniqueVersions>false</useUniqueVersions>              <addClasspath>true</addClasspath>              <classpathPrefix>./lib/</classpathPrefix>            </manifest>          </archive>          <excludes>            <exclude>module-info.class</exclude>            <exclude>META-INF/*.SF</exclude>            <exclude>META-INF/*.DSA</exclude>            <exclude>META-INF/*.RSA</exclude>            <exclude>com.google.code.findbugs:jsr305</exclude>            <exclude>org.slf4j:*</exclude>            <exclude>log4j:*</exclude>          </excludes>        </configuration>      </plugin>      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-dependency-plugin</artifactId>        <version>3.3.0</version>        <executions>          <execution>            <id>copy-dependencies</id>            <phase>package</phase>            <goals>              <goal>copy-dependencies</goal>            </goals>            <configuration>              <outputDirectory>${project.build.directory}/lib</outputDirectory>              <excludeTransitive>false</excludeTransitive>              <stripVersion>false</stripVersion>            </configuration>          </execution>        </executions>      </plugin>-->    </plugins>

除了打成SpringBoot用springboot的插件打包,flinkTask的打包有3种方式,方式三适合lib包提前传到task指定的依赖存储目录。这样上传flinkTask就很小。

方式二是官方推荐FlinkTask的打包方式

说一千道一万就是因为打包的META-INF下的MANIFEST.MF文件的内容有区别。springBoot项目的这个文件有自己的JarLauncher。

SpringBoot怎么集成Flink的部署与打包

FlinkTask的jar这个文件内容

SpringBoot怎么集成Flink的部署与打包

四、Flink的上传与运行

上传并命令运行

SpringBoot怎么集成Flink的部署与打包

配置好flink环境,命令就是

flink run WordCount.jar

Flink管理大屏上传运行

SpringBoot怎么集成Flink的部署与打包

点击“Submit”

SpringBoot怎么集成Flink的部署与打包

读到这里,这篇“SpringBoot怎么集成Flink的部署与打包”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: SpringBoot怎么集成Flink的部署与打包

本文链接: https://lsjlt.com/news/329792.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringBoot怎么集成Flink的部署与打包
    本文小编为大家详细介绍“SpringBoot怎么集成Flink的部署与打包”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot怎么集成Flink的部署与打包”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-30
  • SpringBoot超详细讲解集成Flink的部署与打包方法
    目录一、SpringBoot集成Flink二、FlinkTask写法调整三、打包插件四、Flink的上传与运行总结一、SpringBoot集成Flink 其实没什么特别的,就把Fli...
    99+
    2024-04-02
  • GitLab+Jenkins+Maven+Tomcat 实现自动集成、打包、部署
    目录一、安装 Tomcat 服务二、在 Jenkins 上安装 Maven1.安装 Maven2.创建 Jenkins 任务3.验证一、安装 Tomcat 服务 1.安装 JDK J...
    99+
    2024-04-02
  • springboot集群架构怎么部署
    要部署Spring Boot集群架构,可以按照以下步骤进行操作:1. 部署多个Spring Boot应用程序实例:首先,将Sprin...
    99+
    2023-10-11
    springboot
  • 使用springboot打包成zip部署,并实现优雅停机
    众所周知springboot项目,使用springboot插件打包的话,会打包成一个包含依赖的可执行jar,非常方便。只要有java运行环境的电脑上,运行java -jar xxx....
    99+
    2024-04-02
  • springboot项目打成war包部署到tomcat遇到的一些问题
    开发环境使用jdk1.8.0_60,把springboot 项目打成war包后,部署到apache-tomcat-7.0.68时报错如下,换成apache-tomcat-8.0.9解决org.apache.catalina.Lifecycl...
    99+
    2023-05-31
    springboot war tomcat
  • SpringBoot怎么打jar包与war包
    这篇文章主要介绍“SpringBoot怎么打jar包与war包”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot怎么打jar包与war包”文章能帮助大家解决问题。一. SpringB...
    99+
    2023-07-05
  • IDEA集成docker部署springboot项目的全过程
    目录1.IDEA下载docker插件2.云服务器docker2.1 docker的安装2.2 停止docker服务2.3 docker配置文件修改2.4 刷新配置文件2.5 启动do...
    99+
    2024-04-02
  • Springboot怎么打包成jar发布
    这篇“Springboot怎么打包成jar发布”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Springboot怎么打包成j...
    99+
    2023-07-05
  • PHP商城开发中的集成与部署
    随着电商行业的快速发展,越来越多的企业开始关注自身在电商领域的布局与发展。而作为电商网站的核心技术之一,PHP商城开发的集成与部署也逐渐成为了企业关注的焦点。本文将从技术层面讲述PHP商城开发中的集成与部署相关内容,帮助大家更好地了解和应用...
    99+
    2023-05-14
    PHP 商城开发 集成与部署
  • Consul集群版容器化部署与应用集成是怎样的
    Consul集群版容器化部署与应用集成是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。背景由于公司目前的主要产品使用的注册中心是consul,consul需要用集群来...
    99+
    2023-06-19
  • springboot集群部署的方法是什么
    Spring Boot可以使用多种方式进行集群部署,以下是一些常用的方法:1. 使用容器化技术部署:将Spring Boot应用打包...
    99+
    2023-09-05
    springboot
  • springboot打war包部署到外置tomcat容器的方法
    目录一、修改打包方式二、 排除内置tomcat的依赖三、新增加一个类继承SpringBootServletInitializer实现configure:四、build要有finalN...
    99+
    2024-04-02
  • SpringBoot中jar打包并部署到Tomcat的示例分析
    这篇文章主要介绍了SpringBoot中jar打包并部署到Tomcat的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.详细步骤首先在pom.xml文件中做一些修改...
    99+
    2023-06-15
  • Jenkins一键打包部署SpringBoot应用的方法步骤
    目录Jenkins简介Jenkins的安装及配置Docker环境下的安装Jenkins的配置角色权限管理打包部署SpringBoot应用在Jenkins中创建执行任务任何简单操作的背...
    99+
    2024-04-02
  • 怎么在centos中使用tomcat 部署SpringBoot的war包
    今天就跟大家聊聊有关怎么在centos中使用tomcat 部署SpringBoot的war包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。准备war包一、准备好已有的SpringBo...
    99+
    2023-06-15
  • idea怎么快速实现将SpringBoot项目打包Docker镜像并部署
    这篇文章主要介绍了idea怎么快速实现将SpringBoot项目打包Docker镜像并部署的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇idea怎么快速实现将SpringBoot项目打包Docker镜像并部署文...
    99+
    2023-06-30
  • 使用Spring boot怎么打包部署应用
    今天就跟大家聊聊有关使用Spring boot怎么打包部署应用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、Spring Boot内置webSpring Boot 其默认是集成w...
    99+
    2023-05-30
    springboot
  • Unix 打包:如何将 ASP 和 LeetCode 代码打包成一个可部署的文件?
    在软件开发中,打包是将代码、库和其他资源组合在一起以便于部署的过程。在 Unix 系统中,打包是通过 tar 命令来完成的。本文将介绍如何使用 tar 命令将 ASP 和 LeetCode 代码打包成一个可部署的文件。 ASP 是一种基于...
    99+
    2023-11-07
    leetcode 打包 unix
  • Unix系统下的Java容器打包与部署详解。
    Unix系统下的Java容器打包与部署详解 在现代软件开发中,容器化技术已经成为了必备技能。而Java作为一种跨平台的语言,在容器化方面也有着自己的一套解决方案。本文将详细讲解在Unix系统下如何打包和部署Java容器。 一、Dockerf...
    99+
    2023-07-27
    unix 打包 容器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作