Hey all,

I have a 2 Job Manager 1 Task Manager (2 slots) setup. Wanted to simply try
to see if the leader election would work correctly.

We are using:
* Standalone Application Cluster setup on Kubernetes, and have followed the
example configurations provided in the documentation for HA.
* Using the
org.apache.flink.kubernetes.highavailability.KubernetesHaServicesFactory
* Using an s3 bucket for high-avalability.storageDir (with the presto
plugin).
* Beam (with flink executor) and are consuming events from a Kinesis stream.

When starting up, I see a lot of activity in both JobManagers invoking the
election service, and eventually, the task manager is able to connect to
the leader. Running also verifies that the taskmanager is consuming from
the stream.

Now there are a few questions:
- How do I identify the leader job manager? (see the third point below on
approach to date)
- How is the data stored at high-availability.storageDir used when the
Leader is killed? From what I see in the S3 bucket we have a file called
"submittedJobGraph716ad4dcd04e" - I understood the new leader would restore
from this?
- Looking at the configmaps created as part of the HA: dispatch-leader,
restserver-leader, ..., I understand it as the JobManager leader-address
should be present in these? But doesn't look like it?
- How would I best test if the HA setup is working? I have so far tried
killing one of the JobManagers that I thought was the leader using (kubectl
exec PODNAME -- /bin/sh -c "kill 1") -- is there a better way?

LOGS from Job Manager 1
------------------------------------------------------------
2021-08-31 14:45:44,159 INFO
 org.apache.flink.runtime.jobmaster.MiniDispatcherRestEndpoint [] - Rest
endpoint listening at 100.117.0.6:8081
2021-08-31 14:45:44,953 INFO
 org.apache.flink.kubernetes.kubeclient.resources.KubernetesLeaderElector
[] - Create KubernetesLeaderElector thoros-restserver-leader with lock
identity 04658651-a7a9-47cb-aa51-2024343607fe.
2021-08-31 14:45:47,791 INFO
 org.apache.flink.kubernetes.kubeclient.resources.KubernetesLeaderElector
[] - New leader elected 04658651-a7a9-47cb-aa51-2024343607fe for
thoros-restserver-leader.
2021-08-31 14:45:48,217 INFO
 org.apache.flink.runtime.leaderelection.DefaultLeaderElectionService [] -
Starting DefaultLeaderElectionService with
KubernetesLeaderElectionDriver{configMapName='thoros-restserver-leader'}.
2021-08-31 14:45:48,246 INFO
 org.apache.flink.runtime.jobmaster.MiniDispatcherRestEndpoint [] - Web
frontend listening at http://100.117.0.6:8081.
2021-08-31 14:45:48,261 INFO
 org.apache.flink.runtime.jobmaster.MiniDispatcherRestEndpoint [] -
http://100.117.0.6:8081 was granted leadership with
leaderSessionID=64f52670-fe1b-452a-babe-c5fd94b38133
2021-08-31 14:45:48,618 INFO
 org.apache.flink.runtime.rpc.akka.AkkaRpcService             [] - Starting
RPC endpoint for
org.apache.flink.runtime.resourcemanager.StandaloneResourceManager at
akka://flink/user/rpc/resourcemanager_0 .
2021-08-31 14:45:48,689 INFO
 org.apache.flink.kubernetes.kubeclient.resources.KubernetesLeaderElector
[] - Create KubernetesLeaderElector thoros-dispatcher-leader with lock
identity 04658651-a7a9-47cb-aa51-2024343607fe.
2021-08-31 14:45:48,785 INFO
 org.apache.flink.runtime.leaderelection.DefaultLeaderElectionService [] -
Starting DefaultLeaderElectionService with
KubernetesLeaderElectionDriver{configMapName='thoros-dispatcher-leader'}.
2021-08-31 14:45:48,793 INFO
 org.apache.flink.kubernetes.kubeclient.resources.KubernetesLeaderElector
[] - Create KubernetesLeaderElector thoros-resourcemanager-leader with lock
identity 04658651-a7a9-47cb-aa51-2024343607fe.
2021-08-31 14:45:49,088 INFO
 org.apache.flink.runtime.leaderretrieval.DefaultLeaderRetrievalService []
- Starting DefaultLeaderRetrievalService with
KubernetesLeaderRetrievalDriver{configMapName='thoros-resourcemanager-leader'}.
2021-08-31 14:45:49,256 INFO
 org.apache.flink.kubernetes.kubeclient.resources.KubernetesLeaderElector
[] - New leader elected 95fa9050-a8c9-44bb-bf5a-7322af43ea9d for
thoros-dispatcher-leader.
2021-08-31 14:45:49,280 INFO
 org.apache.flink.runtime.leaderretrieval.DefaultLeaderRetrievalService []
- Starting DefaultLeaderRetrievalService with
KubernetesLeaderRetrievalDriver{configMapName='thoros-dispatcher-leader'}.
2021-08-31 14:45:49,376 INFO
 org.apache.flink.runtime.leaderelection.DefaultLeaderElectionService [] -
Starting DefaultLeaderElectionService with
KubernetesLeaderElectionDriver{configMapName='thoros-resourcemanager-leader'}.
2021-08-31 14:45:49,465 INFO
 org.apache.flink.kubernetes.kubeclient.resources.KubernetesLeaderElector
[] - New leader elected 04658651-a7a9-47cb-aa51-2024343607fe for
thoros-resourcemanager-leader.
2021-08-31 14:45:49,480 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
ResourceManager akka.tcp://flink@100.117.0.6:6123/user/rpc/resourcemanager_0
was granted leadership with fencing token 967f8e81eab9fc2078d062ad11b1405c
2021-08-31 14:45:49,493 INFO
 org.apache.flink.runtime.resourcemanager.slotmanager.SlotManagerImpl [] -
Starting the SlotManager.
2021-08-31 14:45:54,049 WARN  akka.remote.transport.netty.NettyTransport
                [] - Remote connection to [null] failed with
java.net.NoRouteToHostException: No route to host
2021-08-31 14:45:54,064 WARN  akka.remote.transport.netty.NettyTransport
                [] - Remote connection to [null] failed with
java.net.NoRouteToHostException: No route to host
2021-08-31 14:45:54,113 WARN  akka.remote.ReliableDeliverySupervisor
                [] - Association with remote system [akka.tcp://
flink@100.116.0.10:6123] has failed, address is now gated for [50] ms.
Reason: [Association failed with [akka.tcp://flink@100.116.0.10:6123]]
Caused by: [java.net.NoRouteToHostException: No route to host]
2021-08-31 14:45:54,321 WARN  akka.remote.ReliableDeliverySupervisor
                [] - Association with remote system [akka.tcp://
flink@100.125.0.6:6123] has failed, address is now gated for [50] ms.
Reason: [Association failed with [akka.tcp://flink@100.125.0.6:6123]]
Caused by: [java.net.NoRouteToHostException: No route to host]
2021-08-31 14:45:55,789 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registering TaskManager with ResourceID 100.117.0.4:6122-69262a (akka.tcp://
flink@100.117.0.4:6122/user/rpc/taskmanager_0) at ResourceManager
2021-08-31 14:45:55,890 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registering TaskManager with ResourceID 100.117.0.4:6122-69262a (akka.tcp://
flink@100.117.0.4:6122/user/rpc/taskmanager_0) at ResourceManager
2021-08-31 14:45:59,988 INFO
 org.apache.flink.runtime.leaderretrieval.DefaultLeaderRetrievalService []
- Starting DefaultLeaderRetrievalService with
KubernetesLeaderRetrievalDriver{configMapName='thoros-00000000000000000000000000000000-jobmanager-leader'}.
2021-08-31 14:45:59,988 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registering job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:00,076 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registering job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:00,294 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registering job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:00,753 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registering job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:01,519 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registering job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:03,084 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registered job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:03,094 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registered job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:03,102 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registered job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:03,109 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registered job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:03,118 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registered job manager 84553be0a31cca3fb7041d5662fb4...@akka.tcp://
flink@100.117.0.5:6123/user/rpc/jobmanager_2 for job
00000000000000000000000000000000.
2021-08-31 14:46:03,186 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Request slot with profile ResourceProfile{UNKNOWN} for job
00000000000000000000000000000000 with allocation id
c57a30bfc082abe9355c6ae4bb1b4c8a.
2021-08-31 14:46:03,279 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Request slot with profile ResourceProfile{UNKNOWN} for job
00000000000000000000000000000000 with allocation id
c07339fbf640585c403edba93be5b09c.
2021-08-31 14:59:18,486 WARN  akka.remote.ReliableDeliverySupervisor
                [] - Association with remote system [akka.tcp://
flink@100.117.0.4:6122] has failed, address is now gated for [50] ms.
Reason: [Disassociated]
2021-08-31 14:59:21,411 WARN  akka.remote.transport.netty.NettyTransport
                [] - Remote connection to [null] failed with
java.net.ConnectException: Connection refused: /100.117.0.4:6122
2021-08-31 14:59:21,450 WARN  akka.remote.ReliableDeliverySupervisor
                [] - Association with remote system [akka.tcp://
flink@100.117.0.4:6122] has failed, address is now gated for [50] ms.
Reason: [Association failed with [akka.tcp://flink@100.117.0.4:6122]]
Caused by: [java.net.ConnectException: Connection refused: /100.117.0.4:6122
]
2021-08-31 14:59:31,447 WARN  akka.remote.transport.netty.NettyTransport
                [] - Remote connection to [null] failed with
java.net.ConnectException: Connection refused: /100.117.0.4:6122
2021-08-31 14:59:31,453 WARN  akka.remote.ReliableDeliverySupervisor
                [] - Association with remote system [akka.tcp://
flink@100.117.0.4:6122] has failed, address is now gated for [50] ms.
Reason: [Association failed with [akka.tcp://flink@100.117.0.4:6122]]
Caused by: [java.net.ConnectException: Connection refused: /100.117.0.4:6122
]
2021-08-31 14:59:34,914 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Registering TaskManager with ResourceID 100.117.0.4:6122-9f2331 (akka.tcp://
flink@100.117.0.4:6122/user/rpc/taskmanager_0) at ResourceManager
2021-08-31 15:00:01,405 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
The heartbeat of TaskManager with id 100.117.0.4:6122-69262a timed out.
2021-08-31 15:00:01,406 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Closing TaskExecutor connection 100.117.0.4:6122-69262a because: The
heartbeat of TaskManager with id 100.117.0.4:6122-69262a  timed out.
2021-08-31 15:00:02,793 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Request slot with profile ResourceProfile{UNKNOWN} for job
00000000000000000000000000000000 with allocation id
ec3e0def8314dea150bb281818828b55.
2021-08-31 15:00:02,796 INFO
 org.apache.flink.runtime.resourcemanager.StandaloneResourceManager [] -
Request slot with profile ResourceProfile{UNKNOWN} for job
00000000000000000000000000000000 with allocation id
2b8d9ba4a7c7895dbb0dba4f16006441.

Excerpt of LOGS after (what I think is killing the leader) a new JobManager
("JobManager 2") pod is created to replace the killed one
------------------------------------------------------------
2021-08-31 15:00:02,778 INFO
 org.apache.flink.runtime.checkpoint.DefaultCompletedCheckpointStore [] -
Recovering checkpoints from
KubernetesStateHandleStore{configMapName='thoros-00000000000000000000000000000000-jobmanager-leader'}.
2021-08-31 15:00:02,784 INFO
 org.apache.flink.runtime.checkpoint.DefaultCompletedCheckpointStore [] -
Found 0 checkpoints in
KubernetesStateHandleStore{configMapName='thoros-00000000000000000000000000000000-jobmanager-leader'}.
2021-08-31 15:00:02,784 INFO
 org.apache.flink.runtime.checkpoint.DefaultCompletedCheckpointStore [] -
All 0 checkpoints found are already downloaded.
2021-08-31 15:00:02,784 INFO
 org.apache.flink.runtime.checkpoint.CheckpointCoordinator    [] - No
checkpoint found during restore.


-- 
*Med Vänliga Hälsningar*
*Jonas Eyob*

Reply via email to