Flink源码拾遗<一>源码下载、导入和编译
1、环境准备
JDK:建议使用 java_8u51 以上的java8 JDK,以避免使用 PowerMock Runner 的单元测试失败
maven:小白建议用3.2.5版本(Maven 3.3.x 可以构建 Flink,但是不能正确地屏蔽掉指定的依赖。Maven 3.2.5 可以正确地构建库文件) 安装方法这篇文章讲的很全。
IDE:我用的idea 2021.2
安装后记得在IDEA上修改maven配置,修改为与你的实际设置一样,我的配置如下图
2、源码下载
因为只有windows系统的电脑,安装虚拟机又比较慢,release-1.8版本支持windows启动,所以最终用了1.8版本,1.10、1.14版本在编译、运行中都碰到了非常多的问题,可能是因为太新,这个部分困扰了我四天。如果你也是在windows下使用,建议用1.8。
下载地址 https://github.com/apache/flink.git 记得下载完切换到release-1.8分支
3、导入IDEA(和4的顺序可以颠倒)
3.1 安装Scala
- 转到 IntelliJ Settings → Plugins 并选择 “Marketplace”。
- 选择并安装 “Scala” 插件。
- 如果出现提示,请重启 IntelliJ。
3.2 导入Flink
- 启动 IntelliJ IDEA 并选择 New → Project from Existing Sources。
- 选择已克隆的 Flink 存储库的根文件夹。
- 选择 “Import project from external model”,然后选择 “Maven”。
- 保留默认选项,然后依次单击 “Next”,直到到达 SDK 部分。
- 如果未列出 SDK,请使用左上角的 “ ” 号创建一个。选择 “JDK”,选择 JDK 主目录,然后单击 “OK”。选择最合适的 JDK 版本。注意:此处应该是1.8版本。
- 单击 “Next” 继续,直到完成导入。
- 右键单击已导入的 Flink 项目 → Maven → Generate Sources and Update Folders。
4、编译源码
在IDEA terminal中使用如下命令, -DskipTests 用来跳过test,-Dfast用来加速
mvn clean install -DskipTests -Dfast
如果不幸出现了部分jar包无法下载,可能需要手动处理一下,详细见本文,文章里作者缺的是kafka-schema-registry-client-5.5.2.jar,你缺的jar包不一定在他给的地址里,可以在这里下载你需要的包,不是很好找,但是这网站里肯定有。
经过漫长的Build过程,如果出现 BUILD SUCESS 那么恭喜,编译成功。
编译出来的文件在 flink-dist
中
5、测试启动集群(standalone)
5.1 使用start-cluster.bat
找到 ~\flink-dist\src\main\flink-bin\bin\start-cluster.bat
双击即可启动job manager
和task manager
,成功的话会出现两个java窗口,在浏览器测试一下 localhost:8081
如果WEB UI正常显示,那么恭喜,启动成功。
5.2 在IDEA中调试
5.2.1启动JobManager
JobManager的入口类在orgapache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint
,main( )方法就在其中。点击Edit Configuration进行配置。
添加Application
-
我的vm potions设置如下
-
-Dlog4j.configuration=E:\github\flink\flink-dist\target\flink-1.8-SNAPSHOT-bin\flink-1.8-SNAPSHOT\conf\log4j-console.properties
-
-classpath
-
E:\github\flink\flink-dist\target\flink-1.8-SNAPSHOT-bin\flink-1.8-SNAPSHOT\lib\*
-
-
我的 program arguments设置如下
-
--configDir
-
E:\github\flink\flink-dist\target\flink-1.8-SNAPSHOT-bin\flink-1.8-SNAPSHOT\conf
-
>
-
E:\github\flink\flink-dist\src\main\flink-bin\log\task-log.out
-
2>&1
-
-
照葫芦画瓢设置一下,把路径替换成你的路径
5.2.1启动TaskManager
Task Manager 的入口类在org.apache.flink.runtime.taskexecutor.TaskManagerRunner
完事也是按绿色三角跑一下,在WEB UI看看能不能连上task manager,记得一定要先启动job manager 再启动 task manager。
祝你一次成功😘
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgcjhec
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01