当前位置:   article > 正文

CDH整合Flink(CDH6.3.0+Flink1.12.1)

cdh整合flink

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启动起来,整体搭建基本完成。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/494090
推荐阅读
相关标签
  

闽ICP备14008679号