CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)

目录

  • 一:环境准备
  • 二:下载安装包
    • 1. Flink-shaded包
    • 2. flink1.10.2 源码包
    • 3. maven配置文件
  • 三:编译flink-shaded版本
    • 1. 解压tar包
    • 2. 解压文件后目录结构
    • 3. 修改pom文件
    • 4. 开始编译
  • 四:编译Flink1.10.2源码
    • 1. 解压tar包
    • 2. 执行编译
    • 3. 等待编译成功
    • 4. 打包编译好的文件
  • 五:制作parcel包
    • 1. 下载git开源制作parcel包的项目
    • 2. 修改配置文件 flink-parcel.properties
    • 3. 赋予build.sh文件执行权限
    • 4. 将上一步打包好的 flink-1.10.2-bin-scala_2.12.tgz 放到 flink-parcel根目录
    • 5. 编译parcel
    • 6. 生成csd文件
      • on yarn版本
      • standalone版本
    • 7. 将生成的csd文件,复制到cloudera-manager-server服务所在节点的/opt/cloudera/csd目录下
    • 8. 将parcel包和manidest.json文件部署到httpd服务中
  • 六:配置parcel库
    • CM页面--->主机---> parcel ---> 配置
    • 检查新Parcel , 下载--->分配--->激活
    • 可能遇到的问题:
      • 1.flink所需版本号不对,导致不能激活
      • 2.hash不对
      • 3.添加服务没有flink选项
      • 然后重新下载分配激活
  • 七:部署yarn服务
    • 如果启动报错,请查看角色日志:
      • 1. 报错1 : java.lang.ClassNotFoundException: org.apache.hadoop.yarn.exceptions.YarnException
      • 2. 报错2: org.apache.flink.configuration.IllegalConfigurationException: Kerberos login configuration is invalid; keytab is unreadable
  • webUI

一:环境准备

  1. 操作系统 Centos7.5

  2. CDH6.3.2集群,需添加yarn服务、zookeeper服务

3.本文版本flink1.10, 20210315更新 : 实测 flink1.12.2可用
CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第1张图片

  1. 准备Git环境,maven环境 ,jdk环境(编译源码需要)

    [root@node001 ~]# git --version
    git version 1.8.3.1
    [root@node001 ~]# mvn -version
    Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
    Maven home: /opt/module/apache-maven-3.6.1
    Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /opt/module/jdk1.8.0_191/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "linux", version: "3.10.0-862.14.4.el7.x86_64", arch: "amd64", family: "unix"
    [root@node001 ~]#
    

二:下载安装包

1. Flink-shaded包

https://flink.apache.org/downloads.html

flink-shaded-10.0-src.tgz下载链接

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第2张图片

2. flink1.10.2 源码包

https://www.apache.org/dyn/closer.lua/flink/flink-1.10.2/flink-1.10.2-src.tgz

flink-1.10.2-src.tgz下载链接

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第3张图片

3. maven配置文件

  1. maven配置文件需要加上以下镜像源


	        <mirror>
                <id>alimavenid>
                <mirrorOf>centralmirrorOf>
                <name>aliyun mavenname>
                <url>http://maven.aliyun.com/nexus/content/repositories/central/url>
        mirror>
        <mirror>
                <id>alimavenid>
                <name>aliyun mavenname>
                <url>http://maven.aliyun.com/nexus/content/groups/public/url>
                <mirrorOf>centralmirrorOf>
        mirror>
        <mirror>
                <id>centralid>
                <name>Maven Repository Switchboardname>
                <url>http://repo1.maven.org/maven2/url>
                <mirrorOf>centralmirrorOf>
        mirror>
        <mirror>
                <id>repo2id>
                <mirrorOf>centralmirrorOf>
                <name>Human Readable Name for this Mirror.name>
                <url>http://repo2.maven.org/maven2/url>
        mirror>
        <mirror>
                <id>ibiblioid>
                <mirrorOf>centralmirrorOf>
                <name>Human Readable Name for this Mirror.name>
                <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/url>
        mirror>
        <mirror>
                <id>jboss-public-repository-groupid>
                <mirrorOf>centralmirrorOf>
                <name>JBoss Public Repository Groupname>
                <url>http://repository.jboss.org/nexus/content/groups/publicurl>
        mirror>
        <mirror>
                <id>google-maven-centralid>
                <name>Google Maven Centralname>
                <url>https://maven-central.storage.googleapis.com
                url>
                <mirrorOf>centralmirrorOf>
        mirror>
        
        <mirror>
                <id>maven.net.cnid>
                <name>oneof the central mirrors in chinaname>
                <url>http://maven.net.cn/content/groups/public/url>
                <mirrorOf>centralmirrorOf>
        mirror>

三:编译flink-shaded版本

1. 解压tar包

[root@node001 flink]# tar -xf flink-shaded-10.0-src.tgz

2. 解压文件后目录结构

[root@node001 flink-shaded-10.0]# pwd
/opt/module/flink/flink-shaded-10.0
[root@node001 flink-shaded-10.0]# ll
总用量 80
drwxrwxrwx 4 vanas vanas  4096 11月 29 02:53 flink-shaded-asm-7
drwxrwxrwx 3 vanas vanas  4096 11月 29 02:53 flink-shaded-force-shading
drwxrwxrwx 4 vanas vanas  4096 11月 29 02:53 flink-shaded-guava-18
drwxrwxrwx 5 vanas vanas  4096 11月 29 02:53 flink-shaded-hadoop-2-parent
drwxrwxrwx 5 vanas vanas  4096 11月 29 02:53 flink-shaded-jackson-parent
drwxrwxrwx 4 vanas vanas  4096 11月 29 02:53 flink-shaded-netty-4
drwxrwxrwx 4 vanas vanas  4096 11月 29 02:53 flink-shaded-netty-tcnative-dynamic
drwxrwxrwx 3 vanas vanas  4096 2月  12 2020 flink-shaded-netty-tcnative-static
drwxrwxrwx 5 vanas vanas  4096 11月 29 02:53 flink-shaded-zookeeper-parent
-rwxrwxrwx 1 vanas vanas 11357 2月  12 2020 LICENSE
-rwxrwxrwx 1 vanas vanas   166 2月  12 2020 NOTICE
-rwxrwxrwx 1 vanas vanas 14151 11月 29 01:43 pom.xml
-rwxrwxrwx 1 vanas vanas  1767 2月  12 2020 README.md
drwxr-xr-x 3 root  root   4096 11月 29 02:53 target
drwxrwxrwx 3 vanas vanas  4096 2月  12 2020 tools
[root@node001 flink-shaded-10.0]#

3. 修改pom文件

vim flink-shaded-10.0/pom.xml

在里面的profiles中添加如下配置参数:

 <profile>
    <id>vendor-reposid>
    <activation>
        <property>
            <name>vendor-reposname>
        property>
    activation>
 
    
    <repositories>
        
        <repository>
            <id>cloudera-releasesid>
            <url>https://repository.cloudera.com/artifactory/cloudera-reposurl>
            <releases>
                <enabled>trueenabled>
            releases>
            <snapshots>
                <enabled>falseenabled>
            snapshots>
        repository>
        
        <repository>
            <id>HDPReleasesid>
            <name>HDP Releasesname>
            <url>https://repo.hortonworks.com/content/repositories/releases/url>
            <snapshots><enabled>falseenabled>snapshots>
            <releases><enabled>trueenabled>releases>
        repository>
        <repository>
            <id>HortonworksJettyHadoopid>
            <name>HDP Jettyname>
            <url>https://repo.hortonworks.com/content/repositories/jetty-hadoopurl>
            <snapshots><enabled>falseenabled>snapshots>
            <releases><enabled>trueenabled>releases>
        repository>
        
        <repository>
            <id>mapr-releasesid>
            <url>https://repository.mapr.com/maven/url>
            <snapshots><enabled>falseenabled>snapshots>
            <releases><enabled>trueenabled>releases>
    repository>
repositories>
profile>   
      

4. 开始编译

进入到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

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第4张图片

耐心等待编译,可能会失败多次,重复执行命令编译就行

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第5张图片

四:编译Flink1.10.2源码

1. 解压tar包

[root@node001 flink]# tar -xf flink-1.10.2-src.tgz

2. 执行编译

mvn clean install -DskipTests -Dfast -Drat.skip=true -Dhaoop.version=3.0.0-cdh6.3.2 -Pvendor-repos -Dinclude-hadoop -Dscala-2.12 -T10C

3. 等待编译成功

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第6张图片

4. 打包编译好的文件

如图进入对应目录进行打包
在这里插入图片描述

[root@node001 flink-1.10.2-bin]# tar -zcf flink-1.10.2-bin-scala_2.12.tgz flink-1.10.2/

在这里插入图片描述

五:制作parcel包

1. 下载git开源制作parcel包的项目

git clone https://github.com/pkeropen/flink-parcel.git

2. 修改配置文件 flink-parcel.properties

vim flink-parcel.properties

   #FLINK 下载地址
   FLINK_URL=https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.10.2/flink-1.10.2-bin-scala_2.12.tgz
   
   #flink版本号
   FLINK_VERSION=1.10.2
   
   #扩展版本号
   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

3. 赋予build.sh文件执行权限

chmod +x build.sh

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第7张图片

4. 将上一步打包好的 flink-1.10.2-bin-scala_2.12.tgz 放到 flink-parcel根目录

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第8张图片

5. 编译parcel

./build.sh parcel

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第9张图片

6. 生成csd文件

on yarn版本

./build.sh csd_on_yarn

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第10张图片

standalone版本

./build.sh csd_standalone

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第11张图片

7. 将生成的csd文件,复制到cloudera-manager-server服务所在节点的/opt/cloudera/csd目录下

 cp FLINK-1.10.2.jar FLINK_ON_YARN-1.10.2.jar /opt/cloudera/csd/

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第12张图片

8. 将parcel包和manidest.json文件部署到httpd服务中

## 创建目录
mkdir /var/www/html/flink-1.10.2

## 移动parcel文件 与 manidest.json到目录下
cp FLINK-1.10.2-BIN-SCALA_2.12_build/* /var/www/html/flink-1.10.2/

测试是否能正常访问

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第13张图片

六:配置parcel库

CM页面—>主机—> parcel —> 配置

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第14张图片

检查新Parcel , 下载—>分配—>激活

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第15张图片

可能遇到的问题:

1.flink所需版本号不对,导致不能激活

检查制作parcel包时配置文件参数是否正确

2.hash不对

先对比文件hash值是否一致,如果不一致就修改一致CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第16张图片

如果一致还报错,就修改httpd配置文件
vi /etc/httpd/conf/httpd.conf
CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第17张图片

3.添加服务没有flink选项

去cm节点重启cm

systemctl start cloudera-scm-server

然后重新下载分配激活

七:部署yarn服务

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第18张图片

如果启动报错,请查看角色日志:

1. 报错1 : java.lang.ClassNotFoundException: org.apache.hadoop.yarn.exceptions.YarnException

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第19张图片

缺少hadoop依赖,进入前面编译好的flink-shaded-10.0目录,拷贝依赖到flink的lib目录,/opt/module是我的存放目录,具体根据你的实际目录

cp /opt/module/flink/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/

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第20张图片

2. 报错2: org.apache.flink.configuration.IllegalConfigurationException: Kerberos login configuration is invalid; keytab is unreadable

没有开启kerberos的话,需要删除这两项内容,否则启动失败
CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第21张图片

webUI

  1. 启动实例

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第22张图片

  1. 进入yarn

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第23张图片

  1. 进入yarn应用程序

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第24张图片

  1. 进入yarn页面 (session 模式就是一个常驻yarn的进程)

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第25张图片

  1. 从AM进入后台webui

CDH6.3.2集成安装flink on yarn服务(编译源码,制作parcel)(更新:flink1.12.2版本测试也可用)_第26张图片

你可能感兴趣的:(大数据组件知识)