Flink1.9系列-CDH版本源码编译篇

Flink1.9发布,你是否很想用?可是你的hadoop版本是cdh版本,没法编译成功怎么办?按照这篇文章,你会一次性的完成源码编译的工作!!!

Flink重大版本发布

在阿里开源并贡献Blink至社区以后,大家都在等待社区版和Blink版本什么时候能merge到一起,让劳苦大众也体验一把飞翔的感觉!终于,它来啦,就在2019年8月,Flink社区发布了1.9版本,据说更改了150万行代码,所以毫无犹豫直接把Flink1.9使用到公司的项目中!

源码下载

登录github的flink项目:Flink1.9 release版本

  1. 直接点击下载zip包;
  2. 如果你的环境是linux,那直接使用命令即可下载。
    wget https://github.com/apache/flink/archive/release-1.9.0.zip
    
  3. 解压
    unzip release-1.9.0.zip -d ./
    

修改pom文件

  1. 由于Flink源码采用maven构建工程,所以首先确保你的服务器有maven环境;
    mvn -v
    
  2. vim打开pom.xml文件,添加如下代码片段;
    	
        
            cloudera
            https://repository.cloudera.com/artifactory/cloudera-repos/
        
    
    
    		mvnrepository
    		https://mvnrepository.com
    	
    
    如果在后面编译的时候出现不能识别repository这个标签或者类似的问题时,请用IDE打开pom文件并手工添加,确保无maven不能识别的空格之类的东西。

修改setting文件

  1. 修改本地maven的setting文件,删除如下类似的代码块;
     
       nexus-aliyun
       *,!cloudera,!mvnrepository
       Nexus aliyun
       http://maven.aliyun.com/nexus/content/groups/public
    
    
    此操作是避免后续编译的时候只能识别setting文件中配置的仓库地址,不能识别pom文件中配置的仓库地址。

下载并编译flink-shade的源码

  1. 下载源码
    wget https://archive.apache.org/dist/flink/flink-shaded-7.0/flink-shaded-7.0-src.tgz
    
  2. 解压缩后修改pom文件,增加cloudera的仓库
    
     
         cloudera
         https://repository.cloudera.com/artifactory/cloudera-repos/
     
    
    
  3. 编译flink-shade源码
    mvn clean install -DskipTests -Dhadoop.version=2.6.0-cdh5.14.2
    

开始编译

  1. 进入flink-release-1.9.0目录;
  2. 查看cdh版本
    hadoop version
    
  3. 替换-Dhadoop.version的值为你的cdh版本,并执行编译脚本
    mvn clean install -DskipTests  -Pvendor-repos -Dhadoop.version=2.6.0-cdh5.14.2 -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true
    
  4. 漫长的等待过程,出现下图即编译成功
    Flink1.9系列-CDH版本源码编译篇_第1张图片
    Flink1.9系列-CDH版本源码编译篇_第2张图片
    Flink1.9系列-CDH版本源码编译篇_第3张图片
    Flink1.9系列-CDH版本源码编译篇_第4张图片Flink1.9系列-CDH版本源码编译篇_第5张图片

你可能感兴趣的:(Flink)