Flink HA JobManager集群无法选举领导者

问题描述 投票:2回答:1

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

{
  "errors": [
    "Service temporarily unavailable due to an ongoing leader election. Please refresh."
  ]
}

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

kubernetes apache-flink
1个回答
0
投票

根据日志,看起来好像TaskManager无法连接到新的领导者。我认为这对于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-1 pod并查看它的IP地址是什么吗?

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

© www.soinside.com 2019 - 2024. All rights reserved.