当前位置: 代码迷 >> 综合 >> CDH6.0.1集成Flink1.10
  详细解决方案

CDH6.0.1集成Flink1.10

热度:7   发布时间:2024-02-07 09:16:16.0

制作parcel安装包

制作支持CDH-6.0.1Flink-1.10.0Parcel安装包

  1. 下载项目
    git clone https://github.com/pkeropen/flink-parcel.git
    cd flink-parcel
  2. 修改配置文件
    vim flink-parcel.properties
    修改后的内容如下:
#FLINK 下载地址
# 这里是内网下载地址,下载之后通过nginx做下载管理的地址
FLINK_URL=http://10.1.24.134:38080/flink-self/flink-1.10.0-bin-scala_2.11.tgz
#flink版本号
FLINK_VERSION=1.10.0
#扩展版本号
EXTENS_VERSION=BIN-SCALA_2.11
#操作系统版本,以centos为例
OS_VERSION=7
#CDH 小版本
CDH_MIN_FULL=5.16.1
CDH_MAX_FULL=6.3.2
#CDH大版本
CDH_MIN=5
CDH_MAX=6
  1. 生成parcel文件
    ./build.sh parcel,生成的文件都在FLINK-1.10.0-BIN-SCALA_2.11_build目录下
    在这里插入图片描述
  2. 生成csd文件,生成文件FLINK_ON_YARN-1.10.0.jar
    • on yarn版本
      • ./build.sh csd_on_yarn
    • standalone版本
      • ./build.sh csd_standalone

集成flink

  1. 将生成的csdjar包文件放入指定目录中
cp FLINK_ON_YARN-1.10.0.jar /opt/cloudera/csd/
chown cloudera-scm:cloudera-scm /opt/cloudera/csd/FLINK_ON_YARN-1.10.0.jar
service cloudera-scm-server restart
  1. 将生成的parcel三个文件通过nginxhttpd服务配置下载路径。这里配置的路径为http://10.1.24.134:38080/flink/,测试访问http://10.1.24.134:38080/flink/manifest.json
    在这里插入图片描述
  2. 登录http://10.1.24.224:7180/cmf/login,点击集群==>Parcel
    在这里插入图片描述
  3. 点击配置
    在这里插入图片描述
  4. 增加一行url,并填入配置的parcel文件内网下载路径
    在这里插入图片描述
  5. 然后依次选择下载>分配>激活
    在这里插入图片描述
  6. 添加Flink服务,按提示添加启动并运行。
    在这里插入图片描述
    在这里插入图片描述

说明

  1. 在如果集群开启了安全,需要配置security.kerberos.login.keytabsecurity.kerberos.login.principal两个参数才能正正常启动。如未启动kerberos,则在CDH中添加FLINK服务时请清空这两个参数的内容。
  2. 如果启动的过程中一直报错,可以查看flink日志,在/var/log/flink目录下。
  3. 如果启动时报如下错误,则是缺少hadoop的相关jar包(flink-shaded-hadoop-2-uber-2.7.5-7.0.jar),将jar下载下来,放到/opt/cloudera/parcels/FLINK-1.10.0-BIN-SCALA_2.11/lib/flink/lib/目录下即可。下载地址:``
    Error: A JNI error has occurred, please check your installation and try again
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/exceptions/YarnExceptionat java.lang.Class.getDeclaredMethods0(Native Method)at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)at java.lang.Class.privateGetMethodRecursive(Class.java:3048)at java.lang.Class.getMethod0(Class.java:3018)at java.lang.Class.getMethod(Class.java:1784)at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
    Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.yarn.exceptions.YarnExceptionat java.net.URLClassLoader.findClass(URLClassLoader.java:382)at java.lang.ClassLoader.loadClass(ClassLoader.java:418)at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)at java.lang.ClassLoader.loadClass(ClassLoader.java:351)... 7 more
    
  相关解决方案