开发者社区 问答 正文

cloudera manage flink 提交任务失败

在cloudera manage上面安装Flink,每台机器启动都有YarnSessionClusterEntrypoint进程,提交任务的时候,报错
Caused by: java.util.concurrent.CompletionException: org.apache.flink.runtime.concurrent.FutureUtils$RetryException: Could not complete the operation. Number of retries has been exhausted.

at java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:326)
at java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:338)
at java.util.concurrent.CompletableFuture.uniRelay(CompletableFuture.java:911)
at java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:899)
... 22 more

网上有人说是Flink没有启动,但是我的flink已经启动的

展开
收起
游客ln3vfnpek3fvg 2019-03-14 21:30:25 4445 分享 版权
阿里云 AI 助理回答

遇到这个问题,通常意味着Flink作业提交到YARN时,在尝试获取资源或者与YARN进行交互时遇到了问题,而不是Flink服务本身没有启动。错误信息表明重试操作已达到最大次数但未成功完成。这可能是由多种原因造成的,包括但不限于网络问题、资源不足、配置不当等。

以下是一些可能的解决步骤:

  1. 检查YARN资源情况:确保YARN集群有足够的资源(内存、CPU)来运行你的Flink作业。可以通过YARN的Web UI检查当前的资源分配和队列设置。

  2. 查看Flink和YARN的日志:详细查看Flink任务管理器(TaskManager)、作业管理器(JobManager)以及YARN ResourceManager和NodeManager的日志。这些日志中可能会有更具体的错误信息,指示失败的具体原因。

  3. 检查网络连接:确认所有涉及的节点之间的网络通信是正常的,没有防火墙或网络策略阻止必要的通信。

  4. 配置验证:检查Flink的配置文件(如flink-conf.yaml),特别是与YARN集成相关的配置项,比如yarn.application-attemptsyarn.maximum-failed-containers-per-node等,确保它们与你的YARN集群设置相匹配且合理。

  5. Flink版本兼容性:确认你使用的Flink版本与Cloudera Manager及YARN的版本之间是兼容的。有时候版本不兼容会导致一些隐含的问题。

  6. 资源超时设置:检查是否有超时设置过短导致的问题,例如YARN的application submission timeout或Flink的client timeout等,适当调整这些超时时间设置。

  7. 清理环境:如果之前有失败的会话或者应用没有被正确清理,尝试手动清理YARN上的遗留资源,然后重新提交作业。

通过上述步骤定位并解决问题后,你应该能够成功提交Flink作业至YARN上执行。如果问题依旧,建议查阅Flink和YARN的官方文档或社区论坛寻求更专业的帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答