[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、Kafka-2.2.1 、Hive-2.1.1 和 HBase-2.1.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 中,添加

<repositories>
    <!--  ====================================================================  -->
    <!--  =============== 配置依赖库地址(用于加载CDH依赖的jar包) ===============  -->
    <!--  ====================================================================  -->
    <repository>
      <id>vdc</id>
      <url>http://nexus.saas.hand-china.com/content/repositories</url>
    </repository>
    <repository>
      <id>horton-works-releases</id>
      <url>http://repo.hortonworks.com/content/groups/public/</url>
    </repository>
    <repository>
      <id>mvn repository</id>
      <url>https://mvnrepository.com/artifact/</url>
    </repository>
    <repository>
      <id>CDH</id>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>
  </repositories>

编译对应的 flink-shaded 版本

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

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

原因:这部分只是测试代码,可以不用编译

(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

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

4、参考

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

发布了508 篇原创文章 · 获赞 613 · 访问量 201万+

猜你喜欢

转载自blog.csdn.net/high2011/article/details/102612080