代码仓库
会同步代码到 GitHub
https://github.com/turbo-duck/flink-demo
上节进度
在上节中,已经使用 Dockerfile
+ docker-compose
的方式启动了Flink的服务
- 1个JobManager
- 1个TaskManager
访问 IP + 端口
http://10.10.5.137:8081/#/submit
本节内容
我们之前写了很多 Flink 的 demo,但是一直都是本地运行的,没有提交到服务器上去运行。
这里为了方便测试,我在 docker-compose 启动了服务,同时WEB页面也是可以打开的。
本节我们将对代码进行打包,并提交到远程服务器运行。
pom.xml
核心代码
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> </execution> </executions> </plugin>
完整pom
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>flink-demo-01</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <flink.version>1.13.2</flink.version> <scala.binary.version>2.12</scala.binary.version> </properties> <dependencies> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>${flink.version}</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_${scala.binary.version}</artifactId> <version>${flink.version}</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-clients_${scala.binary.version}</artifactId> <version>${flink.version}</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka_2.11</artifactId> <version>${flink.version}</version> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-redis_2.11</artifactId> <version>1.1.0</version> </dependency> </dependencies> <build> <plugins> <!-- 打jar插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
执行打包
使用shell或者idea对项目进行打包。
mvn clean package
打包结果如下:
提交任务
打开该页面 ,选择右上角
的+ Add New
按钮,上传并提交任务。
http://10.10.5.137:8081/#/submit
我们需要填写 Entry Class
,其他参数根据需要填写即可。这里写你需要运行的代码的路径。
(我计划运行 demo05
如下)
icu.wzk.demo05.StartApp
点击 Sumbit
查看结果
页面会自动跳转到任务详情页面,你也可以从左侧的
的菜单栏来进行查看。
JobManager