基于hadoop3.1.1编译Flink1.9.3

1、maven仓库
下载node
cd /opt/app/maven-3.6.3/repository/com/github/eirslett/node/10.9.0
wget https://npm.taobao.org/mirrors/node/v10.9.0/node-10.9.0-linux-x64.tar.gz

下载其他依赖(3.3.1版本)
https://packages.confluent.io/maven/io/confluent/
cd /opt/app/maven-3.6.3/repository/io/confluent/
在这里插入图片描述
编译flink-shaded
git clone https://github.com/apache/flink-shaded.git
cd flink-shaded
git checkout release-7.0
mvn clean install -DskipTests -Dhadoop.version=3.1.1

2 、环境配置
#JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_232-cloudera
export CLASSPATH=.: J A V A H O M E / j r e / l i b : JAVA_HOME/jre/lib: JAVAHOME/jre/lib:JAVA_HOME/lib: J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H = JAVA_HOME/lib/tools.jar export PATH= JAVAHOME/lib/tools.jarexportPATH=PATH: H O M E / b i n : HOME/bin: HOME/bin:JAVA_HOME/bin
#MAVEN_HOME
export MAVEN_HOME=/opt/app/maven-3.6.3
export PATH= P A T H : PATH: PATH:MAVEN_HOME/bin

安装安装nodejs参考
https://blog.csdn.net/docsz/article/details/107410272

3、Flink编译
git clone https://github.com/apache/flink.git
cd flink
git checkout release-1.9.3
mvn clean install -DskipTests -Dmaven.javadoc.skip=true -Dhadoop.version=3.1.1 -Pfast -Pinclude-hadoop

打包
编译完之后在flink/flink-dist/target/flink-1.9.3-bin下,不过没有自动给打成压缩包,只需要:
cd flink/flink-dist/target/flink-1.9.3-bin
tar -zcvf flink-1.9.3-bin.tgz flink-1.9.3/

4、注意事项
只支持Hadoop 2.4及以上版本
使用-Dscala-2.11或者-Dscala-2.12来指定Scala版本
基于Scala哪个版本开发Flink应用,就基于Scala哪个版本来编译Flink(2.11/2.12),如果只想使用Flink的Java API则不用选择scala版本(无所谓哪个Scala版本)
编译针对HDP、CDH、MapR的Hadoop版本可使用-Pvendor-repos
-Dmaven.javadoc.skip=true会跳过生产java api 文档,编译速度会稍微提高点
-Pinclude-hadoop会自动把flink-shaded-hadoop包打包到lib目录下

猜你喜欢

转载自blog.csdn.net/docsz/article/details/108752043