若本地编译失败,可下载此编译好的包
cdh6.3.2集成flink1.12.0所需要的编译好的包 https://download.csdn.net/download/qq_25073261/86399346
1.安装插件
安装git、wget、createrepo工具
yum install -y wget git createrepo
2.下载flink包
cd /software
wget https://archive.apache.org/dist/flink/flink-1.12.0/flink-1.12.0-bin-scala_2.12.tgz
mkdir -p /var/www/html/flink
mv flink-1.12.0-bin-scala_2.12.tgz /var/www/html/flink
在浏览器访问
http://192.168.1.160/flink/
3.下载工具flink-parcel
cd /software
git clone https://github.com/pkeropen/flink-parcel.git
进入到flink-parcel
目录下,修改配置文件
cd /software/flink-parcel
cp flink-parcel.properties flink-parcel.properties.bak
vim flink-parcel.properties
#FLINK 下载地址
FLINK_URL=http://192.168.1.160/flink/flink-1.12.0-bin-scala_2.12.tgz
#flink版本号
FLINK_VERSION=1.12.0
#扩展版本号
EXTENS_VERSION=BIN-SCALA_2.12
#操作系统版本,以centos为例
OS_VERSION=7
#CDH 小版本
CDH_MIN_FULL=5.2
CDH_MAX_FULL=6.3.3
#CDH大版本
CDH_MIN=5
CDH_MAX=6
赋权编译,完成后会在当前目录生成FLINK-1.12.0-BIN-SCALA_2.12_build
文件
chmod u+x build.sh
./build.sh parcel
构建flink-yarn csd包,完成后会生成FLINK_ON_YARN-1.12.0.jar
./build.sh csd_on_yarn
将FLINK-1.12.0-BIN-SCALA_2.12_build打包
tar -cvf ./flink-1.12.0-bin-scala_2.12.tar ./FLINK-1.12.0-BIN-SCALA_2.12_build/
文件夹下的flink-1.12.0-bin-scala_2.12.tar、FLINK_ON_YARN-1.12.0.jar就是目标包
4.编译flink-shaded版本
1)下载源码包并解压
下载地址:https://flink.apache.org/downloads.html#flink-shaded
网上查资料发现使用flink-shaded-12.0-src.tgz编译后确实没有flink-shaded-hadoop-2-uber 3.0.0-cdh6.3.2-10.0这个文件,但是flink-shaded-10.0也适配flink1.12环境,于是改用官网提供的flink-shaded-10.0-src.tgz进行编译
cd /software
wget https://archive.apache.org/dist/flink/flink-shaded-10.0/flink-shaded-10.0-src.tgz
tar -zxvf flink-shaded-10.0-src.tgz
进入到flink-shaded-10.0目录下修改pom.xml配置文件,新增
cd flink-shaded-10.0
vim ./pom.xml
<profile>
<id>vendor-repos</id>
<activation>
<property>
<name>vendor-repos</name>
</property>
</activation>
<!-- Add vendor maven repositories -->
<repositories>
<!-- Cloudera -->
<repository>
<id>cloudera-releases</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<!-- Hortonworks -->
<repository>
<id>HDPReleases</id>
<name>HDP Releases</name>
<url>https://repo.hortonworks.com/content/repositories/releases/</url>
<snapshots><enabled>false</enabled></snapshots>
<releases><enabled>true</enabled></releases>
</repository>
<repository>
<id>HortonworksJettyHadoop</id>
<name>HDP Jetty</name>
<url>https://repo.hortonworks.com/content/repositories/jetty-hadoop</url>
<snapshots><enabled>false</enabled></snapshots>
<releases><enabled>true</enabled></releases>
</repository>
<!-- MapR -->
<repository>
<id>mapr-releases</id>
<url>https://repository.mapr.com/maven/</url>
<snapshots><enabled>false</enabled></snapshots>
<releases><enabled>true</enabled></releases>
</repository>
</repositories>
</profile>
在flink-shaded-10.0
目录下进行编译flink-shaded
cd /software/flink-shaded-10.0
mvn clean install -DskipTests -Pvendor-repos -Dhadoop.version=3.0.0-cdh6.3.2 -Dscala-2.12 -Drat.skip=true -T10C
cd /software/flink-shaded-10.0/flink-shaded-hadoop-2-parent/flink-shaded-hadoop-2-uber/target
将flink-shaded-hadoop-2-uber-3.0.0-cdh6.3.2-10.0.jar放在每台服务器的/opt/cloudera/parcels/FLINK/lib/flink/lib目录下
5.将编译好的flink-1.12.0-bin-scala_2.12.tar解压到/var/www/html并重命名
tar -xvf /software/flink-parcel/flink-1.12.0-bin-scala_2.12.tar -C /var/www/html/
cd /var/www/html/
# 重命名目录名称
mv FLINK-1.12.0-BIN-SCALA_2.12_build/ flink1.12.0-on-cdh6.3.2
cd flink1.12.0-on-cdh6.3.2
# 创建flink-on-cdh的本地仓库,确保createrepo工具已经安装
createrepo .
开启httpd服务后,可以通过以下网址查看是否正常上传
http://192.168.1.160/flink1.12.0-on-cdh6.3.2/
6.配置局域网flink的yum
vim /etc/yum.repos.d/flink-on-cdh.repo
[flink-on-cdh]
name=flink-on-cdh
baseurl=http://192.168.1.160/flink1.12.0-on-cdh6.3.2/
enabled=1
gpgcheck=0
将上述配置repo配置文件分发到所有节点上
所有节点上清除yum并建立yum缓存
yum clean all
yum makecache
在CM-Server主节点上,将FLINK_ON_YARN-1.12.0.jar包复制到/opt/cloudera/csd/目录下(目的是让cm识别)
cp /software/flink-parcel/FLINK_ON_YARN-1.12.0.jar /opt/cloudera/csd/
重启集群的CM-Server及CM-agent
7.配置parcel库
CM页面—>主机—> parcel —> 配置,添加上传的parcel的位置
检查新Parcel ,然后下载—>分配—>激活
重启服务
systemctl restart cloudera-scm-server
以及各agent节点
systemctl restart cloudera-scm-agent
修改httpd服务,在模块添加 .parcel选项
vim /etc/httpd/conf/httpd.conf
重启http服务
systemctl restart httpd
8.部署flink-yarn服务
添加服务–>选中flink-yarn
自定义节点选择一个就行,yarn模式都是在yarn中运行
审核更改,这两项安全验证的记得去掉,不然等下会启动失败的,我们不需要安全验证这些,不然会报错缺少安全验证的文件,flink启动失败的
继续点击至汇总完成
在页面重启flink-yarn服务
结果如下