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.youkuaiyun.com/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目录下