Shared nothing architecture is often also referred to as “masterless” architecture. For Crate, this is fully true in terms of data storage. However, coordinating metadata, settings and DDL requires to have a dynamic Metadata Primary to be elected. In a Crate cluster any node is eligible to be elected as a Metadata Primary, although this could also be restricted to a subset of nodes if required. There must be only one single Metadata Primary per cluster.
To ensure that even in case of a network partition (when one part of the cluster is not available) the cluster requires a quorum (relative to the expected nodes in the cluster) to be able to elect the Metadata Primary. Consequently the quorum must be greater than half of the expected nodes in the cluster:
q = n / 2 + 1
Thus if a 6 node cluster is split in half, each partition will be unable to elect a Primary because the defined quorum of 4 nodes won’t be met. This prevents the cluster from having 2 separate Primaries which would inevitably become out of sync and cause a “split brain” of the cluster. The desired quorum can be set at runtime.