Flink1.19源码编译及本地运行
1.环境准备
本地需要安装
idea(intelliJ IDEA 2019.3)
maven(3.8.8)
jdk(1.8)
scala(2.12.7)
前端:
node(v16.13.2)
npm(8.1.2)

2.下载源码
2.1.1 源码地址
https://github.com/apache/flink.git |
记得选择1.19的分支
2.1.2配置Maven
1.idea打开项目修改一下Maven下载路径,默认下载到C盘

注意:只需要修改maven 中的 Local repository,默认会在C盘,其他不用修改
2.1.4.设置jdk版本
1.点击File—> Project Structure—>Project设置Jdk版本(如下图)

注意:设置JDK版本1.8或者1.8以后
2.1.5 设置scala版本
1.点击File—> Project Structure—>Platfrom Settings —> Global Libraries—>ScalaSdk 设置scala版本(如下图)

2.Choose Modules中Ctrl+A选择所有的模块。

3.源码编译
1.跳过测试、勾选fast

2.clean 先清除一下

3.install 开始打包

4.无法下载kafka-schema-registry-client-7.2.2相关jar
maven的配置中加入Confluent Maven 仓库
<mirror>
<id>confluent</id>
<name>confluent maven</name>
<mirrorOf>confluent</mirrorOf>
<url>http://packages.confluent.io/maven/</url>
</mirror>
5.如果每个模块都是Success,那就代表打包成功

4.启动StandaloneSession模式
4.1.环境配置
1.创建两个文件夹flink_lib、flink_conf
2.源码编译完毕后在flink-dist下会有配置文件以及编译后的jar包

3.将D:\WorkSpace\flink\flink-dist\target\flink-1.19-SNAPSHOT-bin\flink-1.19-SNAPSHOT\lib下的jar拷贝到我们创建的flink_lib下

将D:\WorkSpace\flink\flink-dist\target\flink-1.19-SNAPSHOT-bin\flink-1.19-SNAPSHOT\conf下的配置文件拷贝到我们创建的flink_conf下

4.修改config.yaml
操作步骤如下图
修改config.yaml
Bash ################################################################################ env.java.opts.all: --add-exports=java.base/sun.net.util=ALL-UNNAMED --add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED jobmanager.resource-id: jobmanager_01 jobmanager.rpc.address: localhost # The RPC port where the JobManager is reachable. jobmanager.rpc.port: 6123 jobmanager.bind-host: localhost jobmanager.memory.process.size: 1600m taskmanager.bind-host: localhost taskmanager.resource-id: taskmanager_01 #唯一标识 window下必须配置 taskmanager.cpu.cores: 1 #任务的堆内存 taskmanager.memory.task.heap.size: 512m #托管内存 taskmanager.memory.managed.size: 512m #网络内存(Network Memory) taskmanager.memory.network.min: 128m taskmanager.memory.network.max: 128m #任务堆外内存 taskmanager.memory.task.off-heap.size: 0m #框架内存 taskmanager.memory.framework.heap.size: 256m #框架堆外内存 taskmanager.memory.framework.off-heap.size: 128m #JVM Metaspace taskmanager.memory.jvm-metaspace.size: 128m #JVM 开销 taskmanager.memory.jvm-overhead.min: 128m taskmanager.memory.jvm-overhead.max: 128m #心跳参数 heartbeat.timeout: 50000 heartbeat.interval: 10000 taskmanager.host: localhost taskmanager.memory.process.size: 1728m taskmanager.numberOfTaskSlots: 1 # The parallelism used for programs that did not specify and other parallelism. parallelism.default: 1 jobmanager.execution.failover-strategy: region rest.address: localhost rest.bind-address: localhost |
5.加载flink_lib目录下的jar





4.2.启动JobManager
1.ctrl+shift+t 搜索 StandaloneSessionClusterEntrypoint类

2.设置参数 点选择 Create Run Configuration


3.配置启动参数
Program arguments中输入下列:

4.VM Options 添加jvm参数
Bash -Dlog.file=./log/flink-jobmanager-1.local.log -Dlog4j.configuration=./flink_conf/log4j.properties -Dlog4j.configurationFile=./flink_conf/log4j.properties -Dlogback.configurationFile=./flink_conf/logback.xml |

5.启动JobManager

6.查看启动状态
http://localhost:8081/#/overview

4.3.启动TaskManager
1. .ctrl+shift+t 搜索 TaskManagerRunner类

2. 设置参数 点选择 Create Run Configuration

3.配置启动参数
4.Add VM Options 添加jvm参数
Bash -Dlog.file=./log/flink-taskmanager-1.local.log -Dlog4j.configuration=./flink_conf/log4j.properties -Dlog4j.configurationFile=./flink_conf/log4j.properties -Dlogback.configurationFile=./flink_conf/logback.xml |

6.启动TaskManager 并查看状态


