一 背景
项目基于华为 mrs 平台,hadoop3.1.1,想升级 flink client 客户端从 1.11.0 到 1.16.0,1.11.0 已经用了两年了,flink 已经发布到了1.17 增加了很多新特性,速度和稳定性都会更好一些,于是决定升级。
二 遇到的问题
1、Flink run 提交任务到 yarn 之后,作业失败,yarn 日志没有跟异常相关的明确信息,只是报 Container 异常退出,这个是 hadoop-common 包引起的,引用华为的版本就没有问题。
分析了 hadoop-common 开源和华为版本的区别,源代码改了很多,无奈只能老实用华为版本的包了
NodeManager 报了一个 Launch Container fail
2、Flink 1.16 使用华为版本 hadoop-common 提交到 yarn 之后,flink web ui 不显示 metrics 信息
查看了页面接口调用,返回为空数组,猜测是 Jobmanager 没有采集到 Metrics 信息,于是查看 Jobmanager 日志,报了一个 hadoop-common 包下 commons-math3 一个类找不到,说明hadoop-common 冲突了 flink 的类,将 hadoop-common 下的 commons-math3 排除掉就可以了。