Flink1.10一个划时代的版本,它标志着对 Blink[1] 的整合宣告完成。而且随着对 Hive 的生产级别集成及对 TPC-DS 的全面覆盖,Flink 在增强流式 SQL 处理能力的同时也具备了成熟的批处理能力。
众所周知,Apache Flink官网下载安装包不能支持CDH,需要编译后进行安装,参照网上很多资料,尝试了多天,终于成功,供大家参考。
一、环境准备
1、环境:Jdk 1.8、centos7.6、Maven 3.6.3和Scala-2.11
2、源码和CDH 版本:Flink 1.10.0 、 CDH 6.2.0(Hadoop 3.0.0)
注:mvn版本、CDH版本和scala版本无所谓,理论上可根据自己的版本自行更改。
二、安装包准备;
1、maven版本不要太低,我用的是maven 3.6.3:
https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
2、不同的 Flink 版本使用的 Flink-shaded不同,1.10 版本使用 10.0:
https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-shaded-10.0/flink-shaded-10.0-src.tgz
3、flink1.10.0tar包:
https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.10.0/flink-1.10.0-src.tgz
三、安装MAVEN并修改源:已安装maven的可跳过安装步骤,但要记得修改setting.xml
1、下载maven tar包,移动到安装目录(略过)。
2、解压tar
命令:tar -zxvf apache-maven-3.6.3-bin.tar.gz
3、配置环境变量(略过)
查看命令:mvn --version
4、修改setting.xml:
命令:vim apache-maven-3.6.3/conf/settings.xml
添加如下配置:
alimaven
central
aliyun maven
http://maven.aliyun.com/nexus/content/repositories/central/
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
central
Maven Repository Switchboard
http://repo1.maven.org/maven2/
central
repo2
central
Human Readable Name for this Mirror.
http://repo2.maven.org/maven2/
ibiblio
central
Human Readable Name for this Mirror.
http://mirrors.ibiblio.org/pub/mirrors/maven2/
jboss-public-repository-group
central
JBoss Public Repository Group
http://repository.jboss.org/nexus/content/groups/public
google-maven-central
Google Maven Central
https://maven-central.storage.googleapis.com
central
maven.net.cn
oneof the central mirrors in china
http://maven.net.cn/content/groups/public/
central
四、编译对应的flink-shaded 版本
1、解压tar包
命令:tar -zxvf flink-shaded-10.0-src.tgz
2、修改pom.xml
命令:vim flink-shaded-10.0/pom.xml
添加如下配置:
vendor-repos
vendor-repos
cloudera-releases
https://repository.cloudera.com/artifactory/cloudera-repos
true
false
HDPReleases
HDP Releases
https://repo.hortonworks.com/content/repositories/releases/
false
true
HortonworksJettyHadoop
HDP Jetty
https://repo.hortonworks.com/content/repositories/jetty-hadoop
false
true
mapr-releases
https://repository.mapr.com/maven/
false
true
3、编译:
命令1:cd flink-shaded-10.0/
命令2:mvn -T2C clean install -DskipTests -Pvendor-repos -Dhadoop.version=3.0.0-cdh6.2.0 -Dscala-2.11 -Drat.skip=true
注:hadoop版本,cdh版本,scala版本根据自己的集群情况自行修改。
五、编译flink1.10.0源码
1、解压tar包;
命令:tar -zxvf flink-1.10.0-src.tgz
2、编译
命令1:cd flink-1.10.0/
命令2:mvn clean install -DskipTests -Dfast -Drat.skip=true -Dhaoop.version=3.0.0-cdh6.2.0 -Pvendor-repos -Dinclude-hadoop -Dscala-2.11 -T2C
注:注意修改成自己对应的版本
3、提取出flink1.10.0对应的二进制包到安装目录
目录地址:flink-1.10.0/flink-dist/target/flink-1.10.0-bin
4、测试
命令:./bin/flink run -m yarn-cluster -ynm test_wordcount ./examples/batch/WordCount.jar --input hdfs://cluster_name/tmp/words.txt
注:注意在hdfs上添加测试的words.txt
备注:编译时间视情况而定,一般时间不会太短。理论上本方法适用于cdh6.x(6.0,6.1,6.2,6.3)的版本