This role configures RabbitMQ cluster.
Clustering requires proper short hostname resolution on every node in cluster. Use some /etc/hosts setup role for this. All other requirements are listed in metadata file.
The variables that can be passed to this role and a brief description about them are as follows.
# Set /var/lib/rabbitmq/.erlang.cookie
rabbitmq_erlang_cookie: 1qa2ws3ed
# Set max open files for rabbit process
rabbitmq_ulimit_open_files: 1024
# Use cluster or no
rabbitmq_create_cluster: no
# Short hostname of cluster master, on master node it must be specified too
rabbitmq_cluster_master: localhost
# Vhosts to create
rabbitmq_vhosts: []
# Enabled plugins
rabbitmq_plugins:
- rabbitmq_management
# Users to create, self explained parameters
rabbitmq_users:
- user: admin
password: admin
vhost: /
configure_priv: .*
read_priv: .*
write_priv: .*
tags: administrator
# Users to remove
rabbitmq_users_removed:
- guest
First of all you need configure /etc/hosts:
[all]
hosts:
- { ip: '10.0.0.1', domain: 'mq1' }
- { ip: '10.0.0.2', domain: 'mq2' }
- { ip: '10.0.0.3', domain: 'mq3' }
- { ip: '10.0.0.4', domain: 'mq4' }
[rabbidz]
mq1.local rabbitmq_cluster_master=mq2
mq2.local rabbitmq_cluster_master=mq2
mq3.local rabbitmq_cluster_master=mq3
mq4.local rabbitmq_cluster_master=mq3
[rabbidz:vars]
rabbitmq_create_cluster=yes
or you can use group variables (preferably)
[rabbidz1]
mq1.local
mq2.local
[rabbidz1:vars]
rabbitmq_create_cluster=yes
rabbitmq_cluster_master=mq3
[rabbidz2]
mq3.local
mq4.local
[rabbidz2:vars]
rabbitmq_create_cluster=yes
rabbitmq_cluster_master=mq3
LGPL
- Alexey Medvedchikov, 2GIS, LLC