[Flink 学习] -- 编译 CDH-6.3.0 版本的 Flink 1.9.0

前言

      由于 Apache Flink 的开源二进制包未提供 HDP、MapR和 CDH 的下载,所以,如果要兼容基于这些厂商的库编译 Apache Flink。本文主要介绍使用 CDH 的库进行编译 Apache Flink 1.9.0,希望对读者有所帮助。

内容

    1、环境

    Jdk 1.8、macOS10.14.6、Maven 3.6.2和Scala-2.11.8

    2、源码和CDH 版本

    Flink 1.9.0 、 CDH 6.3.0(Hadoop 3.0.0、Spark 2.4.0)

    3、步骤

(1)下载 Apache Flink 1.9.0

https://github.com/apache/flink/archive/release-1.9.0.tar.gz

(2)下载依赖的 flink-shaded 源码

不同的 Flink 版本使用的 Flink-shaded不同,1.9.0 版本使用 7.0

https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-shaded-7.0/flink-shaded-7.0-src.tgz

解压后,在 pom.xml 中,添加


    
    
    
    
      vdc
      http://nexus.saas.hand-china.com/content/repositories
    
    
      horton-works-releases
      http://repo.hortonworks.com/content/groups/public/
    
    
      mvn repository
      https://mvnrepository.com/artifact/
    
    
      CDH
      https://repository.cloudera.com/artifactory/cloudera-repos/
    
  

 

 

编译对应的 flink-shaded 版本

$ mvn clean install  -DskipTests -Dhadoop.version=3.0.0-cdh6.3.0

(3)在 apache flink pom.xml 中删除 test & docs 的module ,避免编译报错

[Flink 学习] -- 编译 CDH-6.3.0 版本的 Flink 1.9.0_第1张图片

 

 

(4)再编译 Flink 源码

$ mvn  -T4C clean install -Dmaven.test.skip=true -Pvendor-repos -Dhadoop.version=3.0.0-cdh6.3.0  -Dflink.shaded.version=7.0   -Dscala-2.11

[Flink 学习] -- 编译 CDH-6.3.0 版本的 Flink 1.9.0_第2张图片

(5)提取出 flink-1.9.0 二进制包即可

[Flink 学习] -- 编译 CDH-6.3.0 版本的 Flink 1.9.0_第3张图片

4、参考

https://ci.apache.org/projects/flink/flink-docs-stable/flinkDev/building.html#custom--vendor-specific-versions

 

 

 

你可能感兴趣的:(Maven,CDH,Flink)