【flink】上传jar并执行


前言

通过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普通工程导出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 maven导出可执行jar

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

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <!-- 主程序入口类 -->
                            <mainClass>com.test.WordCount</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

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

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

三、 上传

3.1 管理页面上传

首先启动flink,启动成功之后能成功进入flink管理页面,可通过管理页面更加简便的上传。管理页面默认端口8081
在这里插入图片描述

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。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叁滴水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值