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删除重新按照上面的图片创建,再次重启即可。
文章来源:https://www.toymoban.com/news/detail-817576.html
可以看到yarn上有FLINK启动起来,整体搭建基本完成。文章来源地址https://www.toymoban.com/news/detail-817576.html
到了这里,关于CDH整合Flink(CDH6.3.0+Flink1.12.1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!