<返回更多

Window环境下编译Flink1.10源码

2020-04-03    
加入收藏

导读:Apache Flink是一个框架和分布式处理引擎,用于对无边界和有边界的数据流进行有状态的计算。官方文档虽然很详细,但想对Flink进一步深入了解则需要阅读Flink的源码。本文主要讨论Flink源码获取编译,及可能会遇到的问题及解决方案。

Window环境下编译Flink1.10源码

 

基本环境

Flink源码拉取

//使用git从github拉取
https://github.com/apache/flink/

由于从GitHub拉取比较慢,解决的方式有多种。这里列举一种借助gitee的方式:

1、登录gitee -- 创建仓库 -- 导入已有仓库,耐心等待一段时间。

Window环境下编译Flink1.10源码

 

2、将代码从gittee clone到本地。

下载安装 Scala 插件

因Flink具有用scala编写的API,因需要配置Scala插件及Scala SDK。

配置Scala IDEA插件:File -- Settings -- Plugins -- Maketplace -- 搜索Scala -- install

Window环境下编译Flink1.10源码

 

下载并配置Scala SDK

https://www.scala-lang.org/download/     //从官网下载scala的SDK
Window环境下编译Flink1.10源码

 

配置Scala SDK:File -- Project Structure -- Platform Settings -- Global Libraries -- +号 -- 选择Scala SDK

Window环境下编译Flink1.10源码

 

这里选择Brown--指定刚下好Scala SDK 目录(解压)

Window环境下编译Flink1.10源码

 

执行编译命令

mvn clean install -DskipTests -Drat.skip=true  

可能会遇到的问题及解决方案

问题1:由于flink-runtime-web模块引入了frontend-maven-plugin依赖,并安装了node和部分依赖组件,会因网络原因导致 [ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.6:install-node-and-npm (install node and npm)

解决方式:

//修改 flink-runtime-web 的 pom,xml 文件镜像为淘宝镜像
<nodeDownloadRoot>http://npm.taobao.org/mirrors/node/</nodeDownloadRoot>
<npmDownloadRoot>http://npm.taobao.org/mirrors/npm/</npmDownloadRoot>
Window环境下编译Flink1.10源码

 

问题2:Could not resolve dependencies for project org.apache.flink:flink-avro-confluent-registry:jar:1.6.2:

解决方式:

//1、下载kafka-schema-registry-client-4.1.0.jar 
http://packages.confluent.io/maven/io/confluent/kafka-schema-registry-client/4.1.0/kafka-schema-registry-client-4.1.0.jar 
//2、手动安装
mvn install:install-file -DgroupId=io.confluent -DartifactId=kafka-schema-registry-client -Dversion=4.1.0 -Dpackaging=jar  -Dfile=你所存放的目录/kafka-schema-registry-client-4.1.0.jar
//3、继续编译
mvn clean install -DskipTests -Drat.skip=true -rf :flink-avro-confluent-registry

编译完成

Window环境下编译Flink1.10源码

 

感谢您的阅读,如果喜欢本文欢迎关注和转发,本头条号将坚持原创,持续分享IT技术知识。对于文章内容有其他想法或意见建议等,欢迎提出共同讨论共同进步

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>