[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 中,添加

<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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章