首页 > 编程语言 >一、Flink-1.13.6源码编译运行

一、Flink-1.13.6源码编译运行

时间:2023-08-06 14:04:56浏览次数:49  
标签:bin flink dist 1.13 Flink Desktop 源码 main Users

1、概述

本节演示如何在本地编译、运行 Flink 源码。

技术有限,欢迎各位大佬在评论区批评指正。

2、版本说明
名称 版本
flink 1.13.6
jdk 1.8
Maven 3.2.5
操作系统 Mac
3、编译 Flink 源码

1)从 github 下载 Flink 源码

git clone https://github.com/apache/flink

2)切换到目标分支

git checkout remotes/origin/release-1.13
3)编译源码
mvn clean install -DskipTests -Dfast -Dcheckstyle.skip=true

问题:出现某些依赖找不到

解决:单独下载问题 Jar 包,并 install 到本地仓库

问题:依赖下载慢、依赖下载失败

解决:vpn

4)IDEA启动 Standalone 集群

1.配置准备

a)在 flink-dist 模块下 bin 同级目录 创建 log 目录、lib 目录

b)把 resource 目录中的 flink-conf.yaml 文件拷贝到 conf 目录

c)把 target 里的flink-dist.jar包放到 lib 目录,还有四个 log 相关的 jar 包和 zookeeper 相关的 jar 包

file

2.启动 JobManager

启动类:

flink-runtime 模块下
org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint#main

IDEA 启动参数配置:

VM参数:
-Xmx1073741824
-Xms1073741824
-XX:MaxMetaspaceSize=268435456
-Dlog.file=/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/log/flink-standalonesession.log
-Dlog4j.configuration=file:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/conf/log4j-console.properties
-Dlog4j.configurationFile=file:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/conf/log4j-console.properties
-Dlogback.configurationFile=file:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/conf/logback-console.xml
-classpath
/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-csv-1.13.6.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-json-1.13.6.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-shaded-zookeeper-3.4.14.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-table-blink_2.11-1.13.6.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-table_2.11-1.13.6.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/log4j-1.2-api-2.17.1.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/log4j-api-2.17.1.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/log4j-core-2.17.1.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/log4j-slf4j-impl-2.17.1.jar:/Users/***/Desktop/flink/flink-dist/target/flink-dist_2.11-1.13.6.jar:::

运行参数:
--configDir /Users/***/Desktop/flink/flink-dist/src/main/flink-bin/conf
--executionMode cluster
-D jobmanager.memory.off-heap.size=134217728b
-D jobmanager.memory.jvm-overhead.min=201326592b
-D jobmanager.memory.jvm-metaspace.size=268435456b
-D jobmanager.memory.heap.size=1073741824b
-D jobmanager.memory.jvm-overhead.max=201326592b

3.启动 TaskManager

启动类:

flink-runtime 模块下
org.apache.flink.runtime.taskexecutor.TaskManagerRunner#main

IDEA 启动参数配置:

VM 参数:
-XX:+UseG1GC
-Xmx536870902
-Xms536870902
-XX:MaxDirectMemorySize=268435458
-XX:MaxMetaspaceSize=268435456
-Dlog.file=/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/log/flink-taskexecutor.log
-Dlog4j.configuration=file:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/conf/log4j-console.properties
-Dlog4j.configurationFile=file:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/conf/log4j-console.properties
-Dlogback.configurationFile=file:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/conf/logback-console.xml
-classpath
/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-csv-1.13.6.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-json-1.13.6.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-shaded-zookeeper-3.4.14.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-table-blink_2.11-1.13.6.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/flink-table_2.11-1.13.6.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/log4j-1.2-api-2.17.1.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/log4j-api-2.17.1.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/log4j-core-2.17.1.jar:/Users/***/Desktop/flink/flink-dist/src/main/flink-bin/lib/log4j-slf4j-impl-2.17.1.jar:/Users/***/Desktop/flink/flink-dist/target/flink-dist_2.11-1.13.6.jar:::

运行参数:
--configDir /Users/***/Desktop/flink/flink-dist/src/main/flink-bin/conf
-D taskmanager.memory.network.min=134217730b
-D taskmanager.cpu.cores=1.0
-D taskmanager.memory.task.off-heap.size=0b
-D taskmanager.memory.jvm-metaspace.size=268435456b
-D external-resources=none
-D taskmanager.memory.jvm-overhead.min=201326592b
-D taskmanager.memory.framework.off-heap.size=134217728b
-D taskmanager.memory.network.max=134217730b
-D taskmanager.memory.framework.heap.size=134217728b
-D taskmanager.memory.managed.size=536870920b
-D taskmanager.memory.task.heap.size=402653174b
-D taskmanager.numberOfTaskSlots=1
-D taskmanager.memory.jvm-overhead.max=201326592b

问题:运行代码后,打印日志控制台无输出

解决:增加控制台日志配置,在 flink 项目中有 log4j-console.properties 和 logback-console.xml,在 IDEA 启动参数中传入日志配置

-Dlog.file=/Users/*/Desktop/flink-1.13.6/log/flink-standalonesession.log 
-Dlog4j.configuration=file:/Users/*/Desktop/flink-1.13.6/conf/log4j-console.properties 
-Dlog4j.configurationFile=file:/Users/*/Desktop/flink-1.13.6/conf/log4j-console.properties 
-Dlogback.configurationFile=file:/Users/*/Desktop/flink-1.13.6/conf/logback-console.xml
5)打开 Flink WebUI 进行验证
localhost:8081

file

4、修改源码

1)打包源码

问题:打包源码时,出现某个 Module 找不到

解决:优先打包报错的 Module,并 install 到本地仓库即可

2)修改源码后,重新打包,并运行验证

问题:修改源码后运行无效果,如增加标准输出不显示

解决:每次修改需要重新打包,因为我们运行的是flink-dist模块下的flink-dist_2.11-1.13.6.jar

file

标签:bin,flink,dist,1.13,Flink,Desktop,源码,main,Users
From: https://blog.51cto.com/u_16014013/6983320

相关文章

  • 【Java】智慧工地管理系统源码(SaaS模式)
    智慧工地是聚焦工程施工现场,紧紧围绕人、机、料、法、环等关键要素,综合运用物联网、云计算、大数据、移动计算和智能设备等软硬件信息技术,与施工生产过程相融合。一、什么是智慧工地智慧工地是指利用移动互联、物联网、智能算法、地理信息系统、大数据挖掘分析等信息技术,提高项目......
  • Inferllm源码解析
    Inferllm源码解析文件结构application:放置几个不同模型的参数配置和后处理include:包含抽象model类的头文件src/core:核心组件,包括tensor、算法等基础算子的抽象和KV文件系统的实现src/graph:包含了几种LLM模型的具体实现src/kern:包含了不同硬件下的算子实现src:......
  • Spring源码之XML文件中Bean标签的解析1
    读取XML文件,创建对象xml文件里包含Bean的信息,为了避免多次IO,需要一次性读取xml文件中所有bean信息,加入到Spring工厂。读取配置文件newClassPathResource("applicationContext.xml")ClassPathResource是Spring封装的一个类型;Resource接口:可以读取相关资源文件的内容获得......
  • 智慧工地管理平台源码,视频监控、劳务实名制、环境监测、安全质量管理、GIS地理信息、
    智慧工地可视化系统利用物联网、人工智能、云计算、大数据、移动互联网等新一代信息技术,通过工地中台、三维建模服务、视频AI分析服务等技术支撑,实现智慧工地高精度动态仿真,趋势分析、预测、模拟,建设智能化、标准化的智慧工地综合业务系统,解决传统工地管理存在的弊端,更好的提高工地......
  • 4 Diac中E_CYCLE模块源码分析
    E_CYCLE的源码分析一E_CYCLE的功能输入事件接口:START、STOP,输出事件接口EO数据输入接口:DTSTART是开启定时事件,STOP结束定时事件,EO是时间到了触发的事件,DT是配置时间间隔参数,数据类型为字符串类型。举例:DT输入T#10MS,则10MS触发一次EO事件   二源码分析该源码主要......
  • 动力节点|MyBatis从入门实战到深入源码
    MyBatis是一种简单易用、灵活性高且高性能的持久化框架,也是Java开发中不可或缺的一部分。动力节点老杜的MyBatis教程,上线后广受好评从零基础小白学习的角度出发,层层递进从简单到深入,从实战到源码一步一案例,一码一实操,嘴对嘴指导MyBatis重点、难点、考点一网打尽不管你是小白还是正......
  • 在线直播系统源码,移动端列表左右滑动效果
    在线直播系统源码,移动端列表左右滑动效果<view class="evaluationItem">                <scroll-view class="uni-swiper-tab" scroll-x :style="'height:'+scrollH+'px'">                    <view class="scrollx_i......
  • 阿里发布开源大数据热力报告2022——Flink,Superset,Datahub上榜
        近日阿里发布了《开源大数据热力报告2022》报告,分析近年来大数据项目的发展趋势。    在这当中听到了太多熟悉的名字,Kibana,Grafana,ClickHouse,Spark,Airflow,Flink,Superset,Kafka,Metabase,DolphinScheduler,Iceberg,Hudi,Datahub,SeaTunnel等等。    有很多是我已经研究写了......
  • RTSP/Onvif视频服务器LntonNVR(源码版)平台在Windows系统中使用挂载盘的具体操作流程
    LntonNVR平台默认的录像存储位置在LntonNVR/mediaserver/data/hls中,若用户有其他需求,也可以修改存储路径,将录像文件存储在其他指定的磁盘。具体可参照这篇文章:【操作教程】新内核版LntonNVR如何更改录像文件的存储位置?有用户反馈,录像文件更改存储路径后,存储录像文件的时间核对不上,......
  • 小狐狸GPT付费源码-WEB版前端的监控代码
    今天搭建了下小狐狸的WEB版,里面有个隐藏的js代码调用外部接口可以看到下面的代码 会把当前的域名调用外部接口传递过去  ......