本节课核心:教会大家如何编译flink****以及本地运行Standalone
1.环境准备
本地需要安装
idea(intelliJ IDEA 2023.3.4)
git(Git-2.34.1-64-bit.exe)
maven(3.8.8)
jdk(1.8)
scala(2.12.7)
2.下载****源码
2.1.1 命令行方式
下载代码请复制以下命令到终端执行(本地需要安装git)
git clone https://gitee.com/apache/flink.git
2.1.2 idea方式
1.点击idea File—>New—>Project from Version……
2.url:https://gitee.com/apache/flink.git
Directory:选择要存放的目录
点击clone
4.打开项目的时候勾选Trust projects
2.1.3修改jar下载路径
1.idea打开项目修改一下Maven下载路径,默认下载到C盘
注意:只需要修改maven 中的 Local repository,默认会在C盘,其他不用修改
2.1.4.修改分支地址为flink1.19
1.切换分支,首次需要Fetch一下
2.选择release-1.19分支
3.Checkout检出
2.1.5.设置jdk版本
1.点击File—> Project Structure—>Project设置Jdk版本(如下图)
注意:设置JDK版本1.8或者1.8以后
2.1.6.设置scala版本
1.点击File—> Project Structure—>Platfrom Settings —> Global Libraries—>ScalaSdk 设置scala版本(如下图)
2.Choose Modules中Ctrl+A选择所有的模块。
3.源码编译
1.跳过测试、勾选fast
2.clean 先清除一下
3.install 开始打包
4.如果每个模块都是Success,那就代表打包成功
4.启动StandaloneSession模式
4.1.环境配置
1.创建两个文件夹a_lib、a_conf,方便后面使用
2.源码编译完毕后在flink-dist下会有配置文件以及编译后的jar包
3.将F:\new\flink\flink-dist\target\flink-1.19-SNAPSHOT-bin\flink-1.19-SNAPSHOT\lib,lib下的jar拷贝到我们创建的a_lib下
将F:\new\flink\flink-dist\target\flink-1.19-SNAPSHOT-bin\flink-1.19-SNAPSHOT\conf下的配置文件拷贝到我们创建的a_conf下
4.修改config.yaml
操作步骤如下图
修改config.yaml
*################################################################################* 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: q1 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: q2 *#唯一标识 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
4.2.启动JobManager
1.ctrl+n 搜索 StandaloneSessionClusterEntrypoint类
2.设置参数 右键选择 Modify Run Configuration
3.配置启动参数
-c a_conf
4.Add VM Options 添加jvm参数
-Dlog.file=./log/flink-jobmanager-1.local.log -Dlog4j.configuration=./a_conf/log4j.properties -Dlog4j.configurationFile=./a_conf/log4j.properties -Dlogback.configurationFile=./a_conf/logback.xml
5.Modify classpath 添加需要用到的包
6.启动JobManager
4.3.启动TaskManager
1.ctrl+n 搜索 TaskManagerRunner类
2.设置参数 右键选择 Modify Run Configuration
3.配置启动参数
-c a_conf
4.Add VM Options 添加jvm参数
-Dlog.file=./log/flink-taskmanager-1.local.log -Dlog4j.configuration=./a_conf/log4j.properties -Dlog4j.configurationFile=./a_conf/log4j.properties -Dlogback.configurationFile=./a_conf/logback.xml
5.Modify classpath 添加需要用到的包
6.启动TaskManager
6.验证是否启动成功
http://localhost:8081/![](https://img-blog.csdnimg.cn/direct/f2cc6dac5af54a95ad4f846fa8eb70db.png)
版权归原作者 赤道翊 所有, 如有侵权,请联系我们删除。