Flink-生产环境问题集锦

Posted 天青色等烟雨...

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink-生产环境问题集锦相关的知识,希望对你有一定的参考价值。

项目场景:

平台初始搭建,在项目开发过程中遇到的问题.


问题描述及解决方案

1.在程序中将状态后端保存到HDFS,运行程序时报错失败

Caused by: java.lang.RuntimeException: Error while waiting for job to be initialized

Caused by: org.apache.flink.runtime.rest.util.RestClientException: [org.apache.flink.runtime.rest.NotFoundException: Job e16f0a23865fa0daf0cb7ca92bf786ae not found

Caused by: org.apache.flink.runtime.messages.FlinkJobNotFoundException: Could not find Flink job (e16f0a23865fa0daf0cb7ca92bf786ae)

问题解决:

1.运行命令加sudo,可能是权限问题
2.如果上述方法不能解决问题,查看flink/lib目录下是否有hadoop相关的jar包(见下方图片)


2.并行度与slot问题

flink配置文件中taskmanager.numberOfTaskSlots:slot数量。
在yarn模式使用的时候会受到yarn.scheduler.maximum-allocation-vcores值的影响。
此处指定的slot数量如果超过yarn的maximum-allocation-vcores,flink启动会报错。

问题解决:

在yarn模式,flink启动的task manager个数可以参照如下计算公式:num_of_manager = ceil(parallelism / slot) 即并行度除以slot个数,结果向上取整。


3.hdfs写权限问题导致生产环境flink on yarn提交任务报错,报关于yarn的错误,错误如下:

org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: Could not deploy Yarn job cluster.

Caused by: org.apache.flink.client.deployment.ClusterDeploymentException: Could not deploy Yarn job cluster.

Caused by: org.apache.flink.yarn.YarnClusterDescriptor$YarnDeploymentException: The YARN application unexpectedly switched to state FAILED during deployment.

Yarn日志显示如下:

问题解决:
在flink启动脚本“/data/app/flink/bin/flink”中添加配置解决该问题

#操作hdfs的用户
export HADOOP_USER_NAME=hdfs

4.任务挂掉,报GC错误

问题解决:

调大运行命令中jobmanager.memory.process.size参数值


5.提交任务只能在一台节点上能够正常运行,提交到其他节点都运行不了

原因:由于配置文件中io.tmp.dirs ,这个目录需要手动创建,文件夹/tmp不存在、自动创建没成功(可能是权限问题)导致失败

问题解决:

手动创建该目录


记得点赞收藏奥,后续遇到问题会实时更新,关注不迷路~

以上是关于Flink-生产环境问题集锦的主要内容,如果未能解决你的问题,请参考以下文章

实时数仓Flink生产环境部署+提交作业步骤

实时数仓Flink生产环境部署+提交作业步骤

华为云DLI Flink作业生产环境推荐配置指导

FLINK 基于1.15.2的Java开发-搭建2主3从的生产集群环境

Flink 实战:如何解决生产环境中的技术难题?

不在节点快递应用程序中将测试文件夹发送到生产环境