在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已经启动的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
遇到这个问题,通常意味着Flink作业提交到YARN时,在尝试获取资源或者与YARN进行交互时遇到了问题,而不是Flink服务本身没有启动。错误信息表明重试操作已达到最大次数但未成功完成。这可能是由多种原因造成的,包括但不限于网络问题、资源不足、配置不当等。
以下是一些可能的解决步骤:
检查YARN资源情况:确保YARN集群有足够的资源(内存、CPU)来运行你的Flink作业。可以通过YARN的Web UI检查当前的资源分配和队列设置。
查看Flink和YARN的日志:详细查看Flink任务管理器(TaskManager)、作业管理器(JobManager)以及YARN ResourceManager和NodeManager的日志。这些日志中可能会有更具体的错误信息,指示失败的具体原因。
检查网络连接:确认所有涉及的节点之间的网络通信是正常的,没有防火墙或网络策略阻止必要的通信。
配置验证:检查Flink的配置文件(如flink-conf.yaml),特别是与YARN集成相关的配置项,比如yarn.application-attempts、yarn.maximum-failed-containers-per-node等,确保它们与你的YARN集群设置相匹配且合理。
Flink版本兼容性:确认你使用的Flink版本与Cloudera Manager及YARN的版本之间是兼容的。有时候版本不兼容会导致一些隐含的问题。
资源超时设置:检查是否有超时设置过短导致的问题,例如YARN的application submission timeout或Flink的client timeout等,适当调整这些超时时间设置。
清理环境:如果之前有失败的会话或者应用没有被正确清理,尝试手动清理YARN上的遗留资源,然后重新提交作业。
通过上述步骤定位并解决问题后,你应该能够成功提交Flink作业至YARN上执行。如果问题依旧,建议查阅Flink和YARN的官方文档或社区论坛寻求更专业的帮助。