Thank you so much for such a thorough response!<div><br></div><div>I followed your instructions and everything came back up.</div><div><br></div><div>Hopefully this helps someone else!<br><div><br></div><div>-Dave<br><br><div class="gmail_quote">
On Wed, Oct 10, 2012 at 11:53 AM, 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 10/10/12 14:49, Dave Seltzer wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
My instinct, for the sake of uptime, is to say: "okay, forget node2,<br>
lets break the cluster and bring node1 online".<br>
<br>
My problem is that according to the docs I need to issue a "rabbitmqctl<br>
force_reset", which I can't do unless the server is running.<br>
<br>
I tried starting it using "rabbitmq-server -detached" but the server<br>
just exited after loading plugins.<br>
<br>
Does anyone know the right course of action in this scenario?<br>
</blockquote>
<br>
Hi. The bad news is that the released versions of RabbitMQ do not handle this situation well. The good news is that the next release will do better.<br>
<br>
However, in your situation it is possible to break the cluster and bring node1 up. But it's a bit fiddly.<br>
<br>
First of all, you will need to start node1 with the environment variable RABBITMQ_NODE_ONLY set to some value. This will start the Erlang VM without attempting to start RabbitMQ or Mnesia. Exactly how you do this depends on how you have RabbitMQ installed, but on Unix you would typically add that to /etc/rabbitmq/rabbitmq-env.<u></u>conf. Note that our init scripts wait for RabbitMQ to start, so /etc/init.d/rabbitmq-server will hang, but the node will start.<br>
<br>
Once you have the node running, you can then invoke:<br>
<br>
rabbitmqctl eval 'mnesia:start(),[mnesia:force_<u></u>load_table(T) || T <- rabbit_mnesia:table_names()],<u></u>mnesia:del_table_copy(schema, rabbit@node2).'<br>
<br>
(all as one line), with node2 substituted in. This should respond with:<br>
<br>
{atomic,ok}<br>
<br>
Then you can invoke<br>
<br>
rabbitmqctl stop<br>
<br>
to stop node1 again. At this point it should have forgotten node2 and be able to start again normally.<br>
<br>
Note that we don't use "rabbitmqctl force_reset" since that would reset node1, and the point is to make it forget node2.<br>
<br>
Cheers, Simon<span><font color="#888888"><br>
<br>
-- <br>
Simon MacMullen<br>
RabbitMQ, VMware<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><span style="font-size:x-small"><a href="mailto:dseltzer@tveyes.com" target="_blank">Dave Seltzer</a></span></div><div><font size="1">Chief Systems Architect</font></div>
<div><font size="1">TVEyes</font></div><div><font size="1"><a href="tel:%28203%29%20254-3600%20x222" value="+12032543600" target="_blank">(203) 254-3600 x222</a></font></div><br>
</div>
</div>