[rabbitmq-discuss] moving mnesia between machines.

Richard Heycock rgh at roughage.com.au
Wed Apr 22 09:11:17 BST 2009

Excerpts from Richard Heycock's message of Wed Apr 22 17:42:34 +1000 2009:
> Hi,
> I'm running rabbitmq on an ec2 instance with nmesia on amazon's
> persistent block storage so when I shut the machine down and start
> another the queues, etc are persisted.
> However, during testing, when I mount the partition on the new machine
> rabbitmq won't start up; I get a timeout error (from rabbit-sasl.log):
> starting database             ...timeout
> {"init terminating in
> do_boot",{{nocatch,{error,{cannot_start_application,rabbit,{{timeout_waiting_for
> _tables,[user,user_vhost,vhost,rabbit_config,listener,durable_routes,route,rever
> se_route,durable_exchanges,exchange,durable_queues,amqqueue]},{rabbit,start,[nor
> mal,[]]}}}}},[{init,start_it,1},{init,start_em,1}]}}^M
> When I mount the partition on the original machine rabbitmq starts up
> properly.
> Is it possible to move the database across machines like this or will I
> need to dump it and reload?
> rgh

After a bit more experimenting I found that if I rename the machine to
the original name then the broker starts (startup_log):

  starting database             ...done
  starting core processes       ...done
  starting recovery             ...done
  starting persister            ...done
  starting guid generator       ...done
  starting builtin applications ...done
  starting TCP listeners        ...done

  broker running

But start_err contains:

  Error: cannot_get_pid

All the rabbitmq processes are running (they look the same as another
machine that is working) but when I try to connect with rabbitmqctl I
get: Error: {badrpc,nodedown}.


More information about the rabbitmq-discuss mailing list