编译 flink 1.10.1 for cdh 6.3.1

由于众所周知的原因,flink 的版本不支持 CDH,所以 CDH 环境下 flink on yarn 的方法需要自己编译。

工具
jdk 1.8
maven 3.5 3.6
scala 1.12
node v12.13.1
nexus 3.22+ (代码仓库,推荐)

步骤总结:
先编译 flink-shaded-10.0 ,后编译 flink-1.10.1
说明: flink 1.10.x 依赖 flink-shaded-10.x 版本, flink 1.11.x 依赖 flink-shaded-11.x 版本。

准备工作:

  1. maven scala 加入到 PATH
  2. nexus仓库配置,增加下面几个常用的仓库
    https://repository.cloudera.com/artifactory/cloudera-repos
    https://repo.hortonworks.com/content/repositories/releases
    https://repo.hortonworks.com/content/repositories/jetty-hadoop
    https://repository.mapr.com/maven/
    https://packages.confluent.io/maven/
    https://repo.spring.io/plugins-release/
    https://oss.sonatype.org/content/repositories/releases/
    https://jcenter.bintray.com/
  3. 如果没有nexus仓库,也可以配置本地的 maven 文件,增加 profile 。

编译命令:

export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin
M2_HOME=/usr/local/apache-maven-3.5.4/
PATH=$JAVA_HOME/bin:$M2_HOME/bin:$PATH:$HOME/bin;
SETTING=$M2_HOME/conf/settings.xml

cd flink-shaded-10.0
mvn -T2C clean install -DskipTests -Pvendor-repos -Dhadoop.version=3.0.0-cdh6.3.1 -Dscala-2.12 -Drat.skip=true -U

cd flink-1.10.1/flink-runtime-web
npm install [email protected]

cd flink-1.10.1
mvn clean install -DskipTests -Dfast -Drat.skip=true -Dhaoop.version=3.0.0-cdh6.3.1 -Pvendor-repos -Dinclude-hadoop -Dscala-2.12 -T2C -U

说明:
如果提示缺少依赖包,是因为网络原因nexus下载比较慢,多执行几次上面的编译命令,最后会 BUILD SUCCESS。

提取出 flink-1.10.1 二进制包即可
目录地址:flink-1.10.1/flink-dist/target/flink-1.10.1-bin
cd flink-dist/target
tar czfv flink-1.10.1-bin-cdh-6.3.1.tgz flink-1.10.1-bin

测试
./bin/flink run -m yarn-cluster -ynm test_wordcount ./examples/batch/WordCount.jar --input hdfs://cluster_name/tmp/words.txt

flink run -m yarn-cluster -yn 4 -yjm 1024 -ytm 1024 /opt/cloudera/parcels/FLINK/lib/flink/examples/streaming/WordCount.jar --input hdfs://192.168.1.110:8020/tmp/word.txt --output hdfs://192.168.1.110:8020/tmp/result

参考
https://blog.csdn.net/mhtc5052/article/details/104560570
https://www.codenong.com/cs107106547/

友情提示:
如果遇到缺少这个依赖 confluent:kafka-schema-registry-client:jar:3.3.1,
可以修改 ./flink-formats/flink-avro-confluent-registry/pom.xml 的文件,把版本改为3.3.3

你可能感兴趣的:(编译 flink 1.10.1 for cdh 6.3.1)