前言
今天开始是要开始就是要开始看看flink的源码了,通过源码、例子来学习理解flink的编码讨论、核心概念等。
一、源码下载
github搜索flink,复制地址就可以直接下载了。这里要说的是flink的分支版本,我们要学习的是1.14.4最新稳定版本,但是你会发现branches里没有这个分支。 实际上在Tags里是可以找到的,如果用idea,实际上这些都不用关心,直接在里面切换就ok。 我这里是复制的地址,在idea里下载的,然后切换到这个版本的。 可以看到我这里已经开始编译了,但是实际上,是遇到了好几个问题的。现在才是开始了编译不报错了。
二、编译源码
1.修改jdk
这个应该不用我说吧,我本机是装了几个版本的jdk的,然后flink1.14.4目前是在8和11上稳定运行,所以需要修改编译jdk。 maven的也要修改:
2.编译错误处理
maven找不到包 我这里遇到的是缺下面的几个包,我直接贴可以下载到的地址
https://jar-download.com/artifacts/com.google.errorprone/javac-shaded
https://packages.confluent.io/maven/io/confluent/kafka-avro-serializer/5.5.2/
https://packages.confluent.io/maven/io/confluent/kafka-schema-registry-client/5.5.2/
处理方法:
- 治本的办法是安装到公司私库(要找运维,麻烦)
- 治标的办法是安装到本地:
mvn install:install-file -Dfile=下载下来的jar路径 -DgroupId=jar的groupId -DartifactId=jar的artifactId -Dversion=版本号 -Dpackaging=提供方式
例如: mvn install:install-file -Dfile=C:\Users\zhengwen\Downloads\kafka-schema-registry-client-5.5.2.jar -DgroupId=io.confluent -DartifactId=kafka-schema-registry-client -Dversion=5.5.2 -Dpackaging=jar 怎么执行能,如果配置了mvn环境,打开cmd黑框框就可以执行,如下图,出现success就是成功了
3.pom修改内容
下载下来的源码,为了加快编译,我这里是设置了跳过测试类的。修改的地方如下: A、properties节点增加内容164行
<skipTests>true</skipTests>
B、build节点的plugin节点增加内容845行
<configuration>
<skip>true</skip>
</configuration>
然后,就可以进行编译了饿,如果过程中还有缺包。验证中心库(或你自己使用的maven源)确实没有,那基本可以网上找,下载到本地后执行2的内容。 PS: 如果中心库可以找到,那可能是由于网络原因导致下载失败,在本地maven下载jar存储的位置找到对应的jar目录,删掉后maven reload就可以了,或者直接重新build。
总结
1、项目挺庞大啊,193个module 2、还是要用linux系统啊,win确实搞开发不太合适,flink都没有win版本 好了,今天就到这里吧。up!!!
|