<@U0A71G31CDV> getting an error of: Could not dete...
# questions-and-troubleshooting
a
@Rocky getting an error of: Could not determine master from helpers at[star rocks cluster 2 fe 1.star rocks cluster 2 fe search.star rocks cluster 2.svc.cluster.local/10.39.77.2099010, star-rocks-cluster-2-fe-0.star-rocks-cluster-2-fe-search.star-rocks-cluster-2.svc.cluster.local/10.39.123.209:9010, star-rocks-cluster-2-fe-2.star-rocks-cluster-2-fe-search.star-rocks-cluster-2.svc.cluster.local/10.39.85.17:9010]
r
This error,
com.sleepycat.je.rep.UnknownMasterException: Could not determine master from helpers
, indicates that the StarRocks Front End (FE) node is unable to find or elect a Master node among the helper nodes listed in its configuration. In your case, it seems you are running a 3-node FE cluster in Kubernetes. Here are the most common causes and how to troubleshoot them: 1. Quorum Loss (Most Likely) For a StarRocks cluster with 3 Follower FEs, a majority (at least 2) must be alive and able to communicate to elect a Master. If two nodes are down or cannot talk to each other, the remaining node will throw this error because it cannot form a quorum. * Check: Ensure at least 2 FE pods are in a
Running
state and their containers haven't crashed. * Check: Look at the logs of all three FEs. If all three show this error, they are likely having trouble communicating with each other. 2. Network Connectivity &
priority_networks
FEs communicate via the
edit_log_port
(default
9010
). If they cannot reach each other on this port, election will fail. * Check: Verify that the FEs can ping/telnet each other using the FQDNs listed in your error message (e.g.,
star-rocks-cluster-2-fe-0...:9010
). * Priority Networks: In Kubernetes, it is critical to set the
priority_networks
configuration in
fe.conf
to ensure FEs bind to the correct Pod IP. If this is missing or incorrect, an FE might bind to a local interface that isn't reachable by others. _ _Example:*
priority_networks = 10.39.0.0/16
(matching your Pod CIDR). 3. Java Heap / Memory Issues If the FE is experiencing heavy Garbage Collection (GC) or an
OutOfMemoryError
(OOM), it may fail to respond to heartbeat signals, leading to a failed election. * Check: Search your
fe.log
for
java.lang.OutOfMemoryError
or long GC pauses. * Solution: Increase the JVM heap size in
fe.conf
(via
JAVA_OPTS
) or increase the memory limits in your K8s manifest. 4. Metadata Corruption or Mismatched Cluster IDs If an FE was started with a different
cluster_id
(perhaps from a previous deployment or manual meta-cleanup), it will be rejected by the group. * Check: Look for "cluster id mismatch" or "invalid cluster id" in the
fe.warn.log
. * Solution: If this is a new cluster and metadata is not yet critical, you can try clearing the
meta_dir
on the problematic nodes and restarting them with the
--helper
flag pointing to a healthy node. 5. Kubernetes DNS Resolution Since you are using FQDNs, the pods must be able to resolve each other. * Check: Exec into one FE pod and try:
getent hosts star-rocks-cluster-2-fe-0.star-rocks-cluster-2-fe-search.star-rocks-cluster-2.svc.cluster.local
If this fails, your K8s Headless Service or CoreDNS might be misconfigured. Recommended Next Steps: 1. Check logs: Tail the
fe.log
on all three nodes to see if one is trying to become the leader and why the others are rejecting it. 2. Verify Status: If you can log in to any FE via MySQL, run
SHOW FRONTENDS;
to see which nodes are joined and which one is marked as
Role: LEADER
. 3. Check Pod Resources: Ensure the pods aren't being OOMKilled by Kubernetes. Referencesadministration/Meta_recovery.mdfaq/Deploy_faq.md