[rabbitmq-discuss] A cluster on a single machine
David Fooks
davidfooks at turbulenz.biz
Fri May 4 17:46:29 BST 2012
Hi,
I'm trying to emulate the guide here:
http://www.rabbitmq.com/clustering.html
But I'm having a lot of issues! Every time I run I seem to be getting a
different crash. Is this feature actually supported in 2.8.1?
Is there a proper way to completely reset all of the state that rabbitmq
creates about other nodes/the cluster? My clean up script at the moment
looks like this:
rm /var/run/rabbitmq/*
rm -f /var/log/rabbitmq/*
rm -rf /var/lib/rabbitmq/*
Here is my start-up script (I'm running this with sudo):
RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit1
RABBITMQ_SERVER_START_ARGS="-rabbitmq_mochiweb listeners
[{mgmt,[{port,55672}]}]" rabbitmq-server -detached
RABBITMQ_NODE_PORT=5673 RABBITMQ_NODENAME=rabbit2
RABBITMQ_SERVER_START_ARGS="-rabbitmq_mochiweb listeners
[{mgmt,[{port,55673}]}]" rabbitmq-server -detached
RABBITMQ_NODE_PORT=5674 RABBITMQ_NODENAME=rabbit3
RABBITMQ_SERVER_START_ARGS="-rabbitmq_mochiweb listeners
[{mgmt,[{port,55674}]}]" rabbitmq-server -detached
ps -ef | grep rabbit1 | grep -v grep | awk '{print $2}' >
/var/run/rabbitmq/rabbit1.pid
ps -ef | grep rabbit2 | grep -v grep | awk '{print $2}' >
/var/run/rabbitmq/rabbit2.pid
ps -ef | grep rabbit3 | grep -v grep | awk '{print $2}' >
/var/run/rabbitmq/rabbit3.pid
rabbitmqctl -n rabbit1 wait /var/run/rabbitmq/rabbit1.pid
rabbitmqctl -n rabbit2 wait /var/run/rabbitmq/rabbit2.pid
rabbitmqctl -n rabbit3 wait /var/run/rabbitmq/rabbit3.pid
rabbitmqctl -n rabbit1 stop_app
rabbitmqctl -n rabbit1 reset
rabbitmqctl -n rabbit1 start_app
rabbitmqctl -n rabbit2 stop_app
rabbitmqctl -n rabbit2 reset
rabbitmqctl -n rabbit2 start_app
rabbitmqctl -n rabbit3 stop_app
rabbitmqctl -n rabbit3 reset
rabbitmqctl -n rabbit3 start_app
rabbitmqctl -n rabbit1 status
rabbitmqctl -n rabbit2 status
rabbitmqctl -n rabbit3 status
rabbitmqctl -n rabbit3 stop_app
rabbitmqctl -n rabbit3 cluster rabbit1 at dfooks-ubuntu64
rabbit2 at dfooks-ubuntu64
rabbitmqctl -n rabbit3 start_app
If I run the "clean" script and then this script I get the following
warning (after all of the status returns ok):
...
Stopping node 'rabbit3 at dfooks-ubuntu64' ...
...done.
Clustering node 'rabbit3 at dfooks-ubuntu64' with ['rabbit1 at dfooks-ubuntu64',
'rabbit2 at dfooks-ubuntu64']
...
Error: {unable_to_join_cluster,
['rabbit1 at dfooks-ubuntu64','rabbit2 at dfooks-ubuntu64'],
{merge_schema_failed,
"Incompatible schema cookies. Please, restart from old
backup.'rabbit1 at dfooks-ubuntu64' =
[{name,schema},{type,set},{ram_copies,[]},{disc_copies,['rabbit1 at dfooks-ubuntu64']},{disc_only_copies,[]},{load_order,0},{access_mode,read_write},{index,[]},{snmp,[]},{local_content,false},{record_name,schema},{attributes,[table,cstruct]},{user_properties,[]},{frag_properties,[]},{cookie,{{1336,149567,596521},'rabbit1 at dfooks-ubuntu64'}},{version,{{3,0},{'rabbit1 at dfooks-ubuntu64',{1336,149572,870479}}}}],
'rabbit3 at dfooks-ubuntu64' =
[{name,schema},{type,set},{ram_copies,['rabbit3 at dfooks-ubuntu64']},{disc_copies,['rabbit2 at dfooks-ubuntu64']},{disc_only_copies,[]},{load_order,0},{access_mode,read_write},{index,[]},{snmp,[]},{local_content,false},{record_name,schema},{attributes,[table,cstruct]},{user_properties,[]},{frag_properties,[]},{cookie,{{1336,149568,520459},'rabbit2 at dfooks-ubuntu64'}},{version,{{3,0},{'rabbit3 at dfooks-ubuntu64',{1336,149572,882518}}}}]\n"}}
Starting node 'rabbit3 at dfooks-ubuntu64' ...
Error: {cannot_start_application,rabbitmq_management,
{bad_return,
{{rabbit_mgmt_app,start,[normal,[]]},
{'EXIT',
{shutdown,
{gen_server2,call,
[<4885.932.0>,{init,<4885.930.0>},infinity]}}}}}}
I've read about this error in other threads but it generally seems to be
about network settings being reconfigured between nodes. I shouldn't have
these problems since each instance is on the same machine.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120504/72c26779/attachment.htm>
More information about the rabbitmq-discuss
mailing list