开发者社区> 问答> 正文

Flink HA JobManager集群无法选择leader

flink小助手 2018-12-10 13:16:02 1264

我正在尝试在kubernetes上部署Apache Flink 1.6。按照作业管理器高可用性 页面上的教程进行操作。我已经从它的日志中找到了一个有效的Zookeeper 3.10集群我可以看到它没有配置为Kerberos或SASL。所有ACL规则都允许每个客户端写入和读取znode。当我启动集群时,一切都按预期工作,每个JobManager和TaskManager窗口都成功进入运行状态,我可以从主JobManager的web-ui中看到连接的TaskManager实例。但是当我删除主JobManager的pod时,另一个JobManager pod无法在群集中的任何JobManager-UI上选择带有以下错误消息的leader。
{
"errors": [

"Service temporarily unavailable due to an ongoing leader election. Please refresh."

]
}
即使我重新启动此页面也没有任何变化。它坚持这个错误消息。我怀疑,问题与high-availability.storageDir选项有关。我已经有一个工作(使用CloudExplorer测试) minio s3部署到我的k8s集群。但flink 无法向s3服务器写任何东西。在这里你可以找到github-gist的每个配置。

Kubernetes Apache 流计算 Perl 容器
分享到
取消 提交回答
全部回答(2)
  • 夏目同学
    2019-07-17 23:19:12

    我也遇到了楼主同样的报错,我这边是因为flink 配置文件 flink-conf.yaml 中 配置了 high-availability.cluster-id: /cluster_one,这时如果使用同一个配置文件启动多个flink yarn session,会导致 high-availability.cluster-id 冲突,
    解决方法是:
    1.去掉该配置项 high-availability.cluster-id: /cluster_one。
    2.每启动一个flink yarn session之前,修改 high-availability.cluster-id的值为不同的值,然后同步配置文件到整个集群中

    0 0
  • flink小助手
    2019-07-17 23:19:11

    根据日志,它看起来好像TaskManager无法连接到新的leader。我认为这对于web ui来说是一样的。日志说它试图连接到flink-job-manager-0.flink-job-svc.flink.svc.cluster.local/10.244.3.166:44013。我不能从日志中说是否flink-job-manager-1绑定到此IP。但我怀疑无头服务可能会返回多个IP而Flink选择错误/旧的IP。你能登录flink-job-manager-1pod并检查它的IP地址是什么吗?

    我认为您应该能够通过为每个JobManager专用服务定义或者使用pod主机名来解决此问题。

    0 0
添加回答
+ 订阅

云原生时代,是开发者最好的时代

推荐文章
相似问题
推荐课程