CDH整合Flink(CDH6.3.0+Flink1.12.1)
1 准备环境
Linux版本:CENTOS 7.7.1908 在自己的虚拟机上提前准备好,版本建议高点
JAVA版本: jdk1.8.0_181-cloudera 使用CDH带的JDK1.181版本即可,解压,配置环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export PATH=$PATH:$JAVA_HOME/bin
MAVEN版本:apache-maven-3.6.3 解压,配置环境变量,配置国内源
tar -zxvf apache-maven-3.6.3-bin.tar.gz -C .
export MVN_HOME=/home/data/apache-maven-3.6.3
export PATH=$PATH:$JAVA_HOME/bin:$MVN_HOME/bin
配置镜像
<!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus-aliyun</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- Maven中央仓库中国镜像 -->
<mirror>
<id>maven cn repo</id>
<name>oneof the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>maven repo</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>maven repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
git版本:1.8.3.1-23.el7_8
yum install -y wget git
2 FLINK相关准备
下载
flink下载地址:https://archive.apache.org/dist/flink/flink-1.12.1/flink-1.12.1-bin-scala_2.12.tgz
parcel制作工具下载地址:https://github.com/pkeropen/flink-parcel.git(github提供的工具包)
使用:git clone https://github.com/pkeropen/flink-parcel.git 下载
准备FLINK1.12.1包
在`/var/www/html`目录下创建flinktar1.12目录,将`flink-1.12.1-bin-scala_2.12.tgz`置于该目录下
通过 http://cdhnode01/flinktar1.12 可以查看到
准备paecel环境
修改配置文件
vim flink-parcel.properties
#FLINK 下载地址
#FLINK_URL=https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.12.tgz
FLINK_URL=http://cdhnode01/flinktar1.12/flink-1.12.1-bin-scala_2.12.tgz
#flink版本号
#FLINK_VERSION=1.9.1
FLINK_VERSION=1.12.1
#扩展版本号
#EXTENS_VERSION=BIN-SCALA_2.12
EXTENS_VERSION=BIN-SCALA_2.12
#操作系统版本,以centos为例
#OS_VERSION=7
OS_VERSION=7
#CDH 小版本
#CDH_MIN_FULL=5.2
CDH_MIN_FULL=5.2
#CDH_MAX_FULL=5.15
CDH_MAX_FULL=6.3.3
#CDH大版本
#CDH_MIN=5
CDH_MIN=5
#CDH_MAX=5
CDH_MAX=6
3 编译
执行 bash build.sh parcel
报错如下:
git clone https://github.com/cloudera/cm_ext.git
Cloning into 'cm_ext'...
fatal: unable to access 'https://github.com/cloudera/cm_ext.git/': Failed connect to github.com:443; Connection timed out
修改如下:
git clone https://github.com/cloudera/cm_ext.git 改为 git clone git://github.com/cloudera/cm_ext.git
再次执行
执行这部分操作需要稍等一会,打包结束后执行另外一个操作
bash build.sh csd_on_yarn
执行完成后会生成FLINK_ON_YARN-1.12.1.jar
生成这俩包为:FLINK-1.12.1-BIN-SCALA_2.12.tar FLINK_ON_YARN-1.12.1.jar
4 编译flink-shaded
由于Flink1.12版本编译后确实没有flink-shaded-hadoop-2-uber 3.0.0-cdh6.3.0-10.0文件,但是flink-shaded-10.0也适配flink1.12环境,于是改用官网提供的
flink-shaded-10.0-src.tgz
进行编译,编译步骤类似。
在
flink-shaded-10.0
目录下进行编译,首先修改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>
执行:mvn clean install -DskipTests -Pvendor-repos -Dhadoop.version=3.0.0-cdh6.3.0 -Dscala-2.12 -Drat.skip=true -T10C
编译成功后已经有目标文件,目标文件位置
/home/data/flink-shaded-10.0/flink-shaded-hadoop-2-parent/flink-shaded-hadoop-2-uber/target
5 集成CDH
将编译好的
flink-1.12.1-bin-scala_2.12.tar
解压到
/var/www/html
并重命名为flink1.12
将FLINK_ON_YARN-1.12.1.jar放到CM所在的
/opt/cloudera/csd/
目录下
重启CM
systemctl stop cloudera-scm-server
systemctl start cloudera-scm-server
会发现添加服务中多了FLINK_ONYARN的服务
配置pacel,将FLINK1.12.1的服务添加进去
CM页面—>主机—> parcel —> 配置,添加上传的parcel的位置
检查新Parcel ,然后下载—>分配—>激活
这时候会出现一个问题
此时我们需要多做一步
先对比文件hash值是否一致,如果不一致就修改一致
查看发现hash码一致,下载仍然报错,需要修改httpd配置文件 文件在/etc/httpd/conf/httpd.conf
重启httpd服务 systemctl restart httpd
再次进行上次操作,发现已经激活成功了。
6 启动FLINK服务
启动发现第一个报错
去看这个目录下的日志得到 /var/log/flink下找日志,第一步将有认证的去掉,还是报错,发现错误如下:
在这块配置过了HADOOP_CLASSPATH=
hadoop classpath
但是问题没有解决。需要将我们打的1.10的包放到/opt/cloudera/parcels/FLINK-1.12.1-BIN-SCALA_2.12/lib/flink/lib,再次启动。
按照下面这个图片去解决问题
su - hdfs -s /bin/bash
在这一块进行权限的赋予,以前的CDH部署过FLINK1.9是会有影响的。集群启动成功
但是一会又挂了,接着查找日志
发现以前装的FLINK1.9确实有有影响,把/user/flink删除重新按照上面的图片创建,再次重启即可。
可以看到yarn上有FLINK启动起来,整体搭建基本完成。
版权归原作者 yzw_ai_sx 所有, 如有侵权,请联系我们删除。