• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Flink源码拾遗<一>源码下载、导入和编译

武飞扬头像
Petrov_Dong
帮助1

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 managertask manager,成功的话会出现两个java窗口,在浏览器测试一下 localhost:8081 如果WEB UI正常显示,那么恭喜,启动成功。

5.2 在IDEA中调试

5.2.1启动JobManager

JobManager的入口类在orgapache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint ,main( )方法就在其中。点击Edit Configuration进行配置。

学新通

学新通添加Application 

学新通
 对上面几个地方进行设置,尤其是vm options和program arguments
  1.  
    我的vm potions设置如下
  2.  
    -Dlog4j.configuration=E:\github\flink\flink-dist\target\flink-1.8-SNAPSHOT-bin\flink-1.8-SNAPSHOT\conf\log4j-console.properties
  3.  
    -classpath
  4.  
    E:\github\flink\flink-dist\target\flink-1.8-SNAPSHOT-bin\flink-1.8-SNAPSHOT\lib\*
  5.  
     
  6.  
    我的 program arguments设置如下
  7.  
    --configDir
  8.  
    E:\github\flink\flink-dist\target\flink-1.8-SNAPSHOT-bin\flink-1.8-SNAPSHOT\conf
  9.  
    >
  10.  
    E:\github\flink\flink-dist\src\main\flink-bin\log\task-log.out
  11.  
    2>&1
  12.  
     
  13.  
    照葫芦画瓢设置一下,把路径替换成你的路径
学新通
 点击绿色三角试一下,如果没有报错,WEB UI也能打开,那么就成功了

5.2.1启动TaskManager

Task Manager 的入口类在org.apache.flink.runtime.taskexecutor.TaskManagerRunner

学新通
和job manager进行一样的设置标题

完事也是按绿色三角跑一下,在WEB UI看看能不能连上task manager,记得一定要先启动job manager 再启动 task manager。

 祝你一次成功😘

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcjhec
系列文章
更多 icon
同类精品
更多 icon
继续加载