type
status
date
summary
slug
tags
category
password
icon
CDH 6.3.2 集成 Flink 1.14.4
环境准备:
- CDHCentos7.6
- JDK1.8
- Scala2.12
- Python2.7
- Git1.8.3.1F
- Apache Maven3.8.1
- CDH6.3.2
上述软件/环境需提前安装
一、编译flink
- 下载flink1.14.4源码包
- 修改flink的pom.xml
- 编辑
- 编译flink(参考即可,可不做)
注:编译flink过程中可能会提示io.confluent相关的包有问题,查询资料反馈是默认下载的包不完整,需删除已经下载的包,然后从网站上下载对应的包放到maven repository目录
- 修改flink-sql-connector-hive-2.2.0的pom.xml
- 修改hive-exec版本
- 编译flink-sql-connector-hive-2.2.0(sql_on_hive需要做这步)
- 拷贝相关jar包到flink/lib
- 打包已编译的flink源码
二、制作Flink的parcel包和csd文件
1. 下载制作脚本
2 修改参数
- 修改
3 复制安装包
- 这里把之前编译打包好的flink的tar包上复制到flink-parcel项目的根目录
- flink-parcel在制作parcel时如果根目录没有flink包会从配置文件里的地址下载flink的tar包到项目根目录
- 如果根目录已存在安装包则会跳过下载,使用已有tar包。
提示:注意:这里一定要用自己编译的包,不要用从链接下载的包!!!
4 编译parcel
- 编译完会在flink-parcel项目根目录下生成FLINK-1.14.0-BIN-SCALA_2.12_build文件夹
5 编译csd
- csd文件是组件的导航文件
- 编译完成后在flink-parcel项目根目录下会生成1个jar包
- FLINK_ON_YARN-1.14.4.jar
6 上传文件
将编译parcel后生成的FLINK-1.14.0-BIN-SCALA_2.12_build文件夹内的3个文件,复制到CDH Server所在节点的/opt/cloudera/parcel-repo目录
- FLINK-1.14.4-BIN-SCALA_2.12-el7.parcel
- FLINK-1.14.4-BIN-SCALA_2.12-el7.parcel.sha
- manifest.json
将编译csd生成后的FLINK_ON_YARN-1.14.4.jar复制到CDH Server所在节点的/opt/cloudera/csd目录
- FLINK_ON_YARN-1.14.4.jar
7 重启CDH server
三、CDH集成
操作步骤
1.打开CDH登录界面
2 进入Parcel操作界面
点击:主机 -> Parcel
3 分配Parcel
点击分配,等待分配完毕
4 激活Parcel
点击激活 -> 确定,等待激活完毕
5 回主界面
- 点击Cloudera Manager
6.添加flink服务
- 点击操作 -> 添加服务
- 点击Flink-yarn -> 继续
- 点击选择主机 -> 选择在哪些节点部署flink服务,根据情况自己选择
- 选择主机 -> 继续
- 审核更改,将这两项配置
- security.kerberos.login.keytab
- security.kerberos.login.principal
- 两项设置为空字符串,点击继续
- 这里就开始运行了,这一步运行失败了
错误1
/opt/cloudera/parcels/FLINK/lib/flink/bin/flink-yarn.sh: line 17: rotateLogFilesWithPrefix: command not found
- 完整日志
- 原因:
- rotateLogFilesWithPrefix 函数的版本是 1.11.6,后面的版本就把这个函数删了,这个编译flink的库应该是不支持 1.12.0 以及之后的版本的
- 编辑
错误2
- 错误1已经处理完毕,重启后依旧报错,且无具体的错误输出;但是通过日志,可以看到提示HBASE环境变量未设置
解决:
- Flink-yarn -> 配置 -> 高级 -> Flink-yarn 服务环境高级配置代码段(安全阀)Flink-yarn(服务范围)
- 加入以下内容即可:
四、验证Flink服务
- 运行一个WordCount测试
错误3
原因:
解决:在环境变量中加入HADOOP_CLASSPATH
错误4
解决:
错误5
- 参考flink社区:链接,这是一个hadoop3(CDH 6.3.2 默认组件为hadoop3.0)和flink导致的一个bug
- 根据答复的
you can disable this check with the configuration ‘classloader.check-leaked-classloader’.
,去禁用classloader.check-leaked-classloader
- 解决办法: 在 flink 配置文件里 flink-conf.yaml设置classloader.check-leaked-classloader: false
- 编辑添加
错误6
/opt/cloudera/parcels/FLINK/lib/flink/bin/flink-yarn.sh:17: rotateLogFilesWithPrefix
异常信息图片
- 解决方法:
- 上传相应的2个jar包到目标目录
- commons-cli-1.5.0.jar
- flink-shaded-hadoop-2-uber-3.0.0-cdh6.3.2-10.0.jar
- /opt/cloudera/parcels/FLINK/lib/flink/lib
- 安装服务的主机都需要上传
五、启动Web UI
- 启动实例
- 进入yarn
- 进入yarn应用程序
- 进入yarn页面 (session 模式就是一个常驻yarn的进程)
- 从AM进入后台webui
- 作者:PH3C
- 链接:https://notion.966699.xyz//article/CDH-Flink-1.14.4
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章