One use case for this was Oracle Solaris Cluster agent for MySQL -
you might find some good best practices in that agent.
> -----Original Message-----
> From: Chris Jones [mailto:cpjones44@stripped]
> Sent: 19 February 2012 23:31
> To: cluster@stripped
> Subject: MySQL Cluster External Arbitration
> Hi there,
> I've just finished setting up my first MySQL Cluster, and have been impressed
> at how easy it was to do so.
> I have a question about how arbitration works, in particular external
> arbitration. Reading through the documentation at
> and various posts on the web, I understand it to be a mechanism where
> none of the MySQL nodes will act as the arbitrator in the event of a "split-
> brain" scenario, and will wait for some kind of external application to act as
> I my understanding correct?
> If it is, how do these external applications interact with the cluster?
> Does it simply run some commands to tell those nodes it chooses to shut
> down, and other commands to tell the other nodes to stay up? What are
> some examples of these "external applications"? What are the commands
> that you need to run to tell the cluster to shut down, but more importantly
> what are the commands issued to tell the nodes the external arbitrator has
> decided to keep those alive.
> The reason I ask is that I plan to have a multi-site MySQL Cluster where I can
> write an application of my own that will determine which set of nodes to
> keep alive and which to turn off in the event that my links will go down. In my
> tests, I have created one management node and one data/API node at each
> site. Whilst the links I have between my sites are quite stable, there is still a
> possibility that it could go down, and I would like to know how I can
> determine which nodes to keep alive instead of letting MySQL decide.
> Is anyone able to shed any light on this or point me to some documentation
> on how these external applications can act as a MySQL Cluster arbitrator.