<div dir="ltr">Hello Simon,<div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jun 20, 2014 at 12:45 PM, Simon MacMullen <span dir="ltr"><<a href="mailto:simon@rabbitmq.com" target="_blank">simon@rabbitmq.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">On 20/06/14 16:55, Ben Hsu wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br></blockquote></div><div class="">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
So I tried restarting the ram backed node, and it started fine. But when<br>
I tried to start the disk backed node, it gave me a different error,<br>
basically saying “inconsistent_cluster, thinks its clustered with node3,<br>
but node3 disagrees”.<br>
</blockquote>
<br></div>
The ram node should have refused to start alone. We had a bug where it would start in older versions and then get confused - which RabbitMQ version are you running?<div class=""><br></div></blockquote><div><br></div><div>
That's interesting. It looks like an older version of rabbitmq</div><div><br></div><div>      {rabbit,"RabbitMQ","3.0.0"},<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
What I would love to do is take one of the disk nodes, start it as the<br>
master, and tell the other nodes to join its cluster. Is that possible?<br>
Right now I cannot even run “rabbitmqctl cluster_status” because the<br>
node won’t start<br>
</blockquote>
<br></div>
What you want is "rabbitmqctl forget_cluster_node --offline". This will:<br>
<br>
1) Allow you to tell node1 or node2 that node3 has left the cluster (you'll need to re-add it later).<br>
<br>
2) Reset node1 or node2's idea of which nodes were the last to shut down, allowing the cluster to start again.<br>
<br>
"rabbitmqctl forget_cluster_node --offline" is currently a bit of a pain to use, since you have to start an Erlang node without booting RabbitMQ.<br>
<br>
You can do this by adding "NODE_ONLY=true" to /etc/rabbitmq/rabbitmq-env.<u></u>conf on node1 or node2. Attempting to start RabbitMQ in whatever's the normal way for you will get an Erlang node started without RabbitMQ (i.e. as if you'd successfully booted the server then invoked "rabbitmqctl stop_app").<br>

<br>
You can now invoke "rabbitmqctl forget_cluster_node --offline node3"<br>
<br>
Once you've done that, you can stop your node, remove NODE_ONLY=true and it should start correctly. The other disc node should then be able to start up and join the cluster without further fiddling.<div class=""><br>
</div></blockquote><div><br></div><div>Now thats interesting! Having an erlang node up without having to start up rabbit sounds very useful. I tried doing forgetting the cluster node and got this:</div><div><br></div><div>
sudo rabbitmqctl forget_cluster_node --offline rabbit@node3<br></div><div><br></div><div>Error: not_last_node_to_go_down: The node you are trying to remove from was not the last to go down (excluding the node you are removing). Please use the the last node to go down to remove nodes when the cluster is offline.</div>
<div><br></div><div>I got the same error when I tried the same command with each of the other nodes. So it looks like rabbit has no idea which node was the last to die. Is it possible to ask rabbit for this information, possibly by groveling around mnesia with "rabbitmqctl eval"?</div>
<div><br></div><div>I'm also okay with a drastic solution like "blow away the mnesia database and recover the data in some other way". Part of the reason I'm asking all these questions is because I want to learn more about rabbitmq</div>
</div></div></div></div>