69 lines
2.1 KiB
Bash
69 lines
2.1 KiB
Bash
#!/bin/bash
|
|
cat > /etc/hosts << EOF
|
|
127.0.0.1 localhost
|
|
{%- for node_name, node_ip in rabbit_nodes.iteritems() %}
|
|
{{node_ip}} {{node_name}}
|
|
{%- endfor %}
|
|
EOF
|
|
|
|
echo "{{erlang_cookie}}" > /var/lib/rabbitmq/.erlang.cookie
|
|
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
|
|
chmod 0400 /var/lib/rabbitmq/.erlang.cookie
|
|
|
|
mkdir -p /var/run/rabbitmq
|
|
chown rabbitmq:rabbitmq /var/run/rabbitmq
|
|
|
|
cat > /etc/rabbitmq/rabbitmq.config << EOF
|
|
[
|
|
{kernel,
|
|
[{inet_dist_listen_min, 61000},
|
|
{inet_dist_listen_max, 61000},
|
|
{inet_default_listen_options, [{nodelay, true},
|
|
{sndbuf, 65535},
|
|
{recbuf, 65535},
|
|
{keepalive, true}
|
|
]
|
|
},
|
|
{inet_default_connect_options, [{nodelay, true},
|
|
{keepalive, true}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{mnesia, [{dump_log_write_threshold, 1000}]},
|
|
{rabbit, [{vm_memory_high_watermark, 0.4},
|
|
{memory_alarms, true},
|
|
{loopback_users,[]},
|
|
{cluster_partition_handling, pause_minority},
|
|
{cluster_nodes, {[{%- for node_name in rabbit_nodes -%}
|
|
'rabbit@{{node_name}}' {%- if not loop.last -%},{%- endif -%}
|
|
{%- endfor -%}], disc}},
|
|
{default_user, <<"{{default_rabbit_user}}">>},
|
|
{default_pass, <<"{{default_rabbit_pass}}">>}
|
|
]
|
|
}
|
|
].
|
|
EOF
|
|
|
|
cat > /etc/security/limits.d/rabbitmq_limits.conf << EOF
|
|
# Set number of file descriptors
|
|
rabbitmq hard nofile 65536
|
|
rabbitmq soft nofile 65536
|
|
EOF
|
|
|
|
update-rc.d rabbitmq-server enable
|
|
|
|
while [ ! -z "$(rabbitmqctl status 2>&1 | grep 'nodedown')" ]; do
|
|
service rabbitmq-server start
|
|
sleep 5
|
|
done
|
|
|
|
rabbitmq-plugins enable rabbitmq_management
|
|
|
|
# Create monitoring user
|
|
rabbitmqctl add_user cue_monitor "{{cluster_id}}"
|
|
rabbitmqctl set_user_tags cue_monitor monitoring
|
|
rabbitmqctl set_permissions cue_monitor ".*" ".*" ".*"
|
|
|
|
rabbitmqctl set_policy HA '^(?!amq\.).*' '{"ha-mode": "all"}'
|