【flink】上传jar并执行

文章目录

  • 前言
  • 一、flink下载安装
    • 1.1、flink下载
    • 1.2、flink启动
  • 二、idea导出jar
    • 2.1普通工程导出
    • 2.2 maven导出可执行jar
  • 三、 上传
    • 3.1 管理页面上传
    • 3.2、命令启动


前言

通过idea编写flink工程,并且导出可执行jar,上传到flink执行的过程,请大家参考。


提示:以下是本篇文章正文内容,下面案例可供参考

一、flink下载安装

1.1、flink下载

笔者使用当前稳定版本中最新的版本1.12.0。1.12.0下载地址.
如果需要下载其他版本请到官方下载地址。

[root@localhost tools]# ls
flink-1.12.0-bin-scala_2.12.tgz

通过tar zxvf flink-1.12.0-bin-scala_2.12.tgz命令进行解压。
查看flink目录信息

[root@localhost flink]# cd flink-1.12.0/
[root@localhost flink-1.12.0]# ls
bin  conf  examples  lib  LICENSE  licenses  log  NOTICE  opt  plugins  README.txt

  1. bin flink的各种指令
  2. examples flink提供的一些例子
  3. lib默认依赖的包

1.2、flink启动

flink启动需要有java支持。需提前安装好 Java 8 或者 Java 11。通过java -version查看。
启动本地集群

$ ./bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host.
Starting taskexecutor daemon on host.

执行作业

./bin/flink run examples/streaming/WordCount.jar

停止集群

./bin/stop-cluster.sh

二、idea导出jar

2.1普通工程导出

【flink】上传jar并执行_第1张图片
【flink】上传jar并执行_第2张图片
【flink】上传jar并执行_第3张图片
【flink】上传jar并执行_第4张图片
【flink】上传jar并执行_第5张图片
【flink】上传jar并执行_第6张图片

2.2 maven导出可执行jar

随着外部jar越来越多,使用maven打包可执行的jar。pom文件中添加如下,只需要配置主程序入口即可。

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-assembly-pluginartifactId>
                <version>3.1.1version>
                <configuration>
                    <appendAssemblyId>falseappendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependenciesdescriptorRef>
                    descriptorRefs>
                    <archive>
                        <manifest>
                            
                            <mainClass>com.test.WordCountmainClass>
                        manifest>
                    archive>
                configuration>
                <executions>
                    <execution>
                        <id>make-assemblyid>
                        <phase>packagephase>
                        <goals>
                            <goal>singlegoal>
                        goals>
                    execution>
                executions>
            plugin>
        plugins>
    build>

通过mvn install 即可打包。
打包时有的jar在集群中是自带的,不需要加入jar,可以通过修改scope为provided
例如:

		<dependency>
            <groupId>org.apache.flinkgroupId>
            <artifactId>flink-streaming-java_2.12artifactId>
            <version>1.10.1version>
            <scope>providedscope>
        dependency>

三、 上传

3.1 管理页面上传

首先启动flink,启动成功之后能成功进入flink管理页面,可通过管理页面更加简便的上传。管理页面默认端口8081
【flink】上传jar并执行_第7张图片

3.2、命令启动

通过flink命令也可以启动jar。例如:./bin/flink run examples/streaming/WordCount.jar

  • -c指定入口类
  • -p 指定并行度

启动成功即可通过 ./bin/flink list 查看当前运行的任务。

[root@localhost flink-1.12.0]# ./bin/flink list
Waiting for response...
------------------ Running/Restarting Jobs -------------------
19.11.2020 03:32:40 : c0ddce86f7d95d9a3bc83ba91b51b024 : Flink Streaming Job (RUNNING)

通过 ./bin/flink cancel {jobId} 关闭任务,jobId是列表中那一串乱码c0ddce86f7d95d9a3bc83ba91b51b024。

你可能感兴趣的:(flink,flink,jar)