Merge "Cleanup of HA guide - AA-rabbitmq"
This commit is contained in:
commit
ac87ba22a3
@ -2,7 +2,7 @@
|
|||||||
=== RabbitMQ
|
=== RabbitMQ
|
||||||
|
|
||||||
RabbitMQ is the default AMQP server used by many OpenStack services. Making the RabbitMQ service
|
RabbitMQ is the default AMQP server used by many OpenStack services. Making the RabbitMQ service
|
||||||
highly available involves:
|
highly available involves the following steps:
|
||||||
|
|
||||||
* Install RabbitMQ
|
* Install RabbitMQ
|
||||||
* Configure RabbitMQ for HA queues
|
* Configure RabbitMQ for HA queues
|
||||||
@ -35,9 +35,9 @@ http://www.rabbitmq.com/install-rpm.html[Official manual for installing RabbitMQ
|
|||||||
==== Configure RabbitMQ
|
==== Configure RabbitMQ
|
||||||
|
|
||||||
Here we are building a cluster of RabbitMQ nodes to construct a RabbitMQ broker.
|
Here we are building a cluster of RabbitMQ nodes to construct a RabbitMQ broker.
|
||||||
Mirrored queues in RabbitMQ improve the availability of service since it will be resilient to failures,
|
Mirrored queues in RabbitMQ improve the availability of service since it will be resilient to failures.
|
||||||
but we have to consider that while exchanges and bindings will survive the loss of individual nodes, queues
|
We have to consider that while exchanges and bindings will survive the loss of individual nodes, queues
|
||||||
and their messages will no because a queue and its contents is located on one node. So if we lose this node,
|
and their messages will not because a queue and its contents is located on one node. If we lose this node,
|
||||||
we also lose the queue.
|
we also lose the queue.
|
||||||
|
|
||||||
We consider that we run (at least) two RabbitMQ servers. To build a broker, we need to ensure that all nodes
|
We consider that we run (at least) two RabbitMQ servers. To build a broker, we need to ensure that all nodes
|
||||||
@ -66,14 +66,14 @@ Cluster status of node rabbit@rabbit2 ...
|
|||||||
[{nodes,[{disc,[rabbit@rabbit1]},{ram,[rabbit@rabbit2]}]},{running_nodes,[rabbit@rabbit2,rabbit@rabbit1]}]
|
[{nodes,[{disc,[rabbit@rabbit1]},{ram,[rabbit@rabbit2]}]},{running_nodes,[rabbit@rabbit2,rabbit@rabbit1]}]
|
||||||
----
|
----
|
||||||
|
|
||||||
If the cluster is working, you can now proceed to creating users and password for queues.
|
If the cluster is working, you can now proceed to creating users and passwords for queues.
|
||||||
|
|
||||||
|
|
||||||
*Note for RabbitMQ version 3*
|
*Note for RabbitMQ version 3*
|
||||||
|
|
||||||
Queue mirroring is no longer controlled by the _x-ha-policy_ argument when declaring a queue. OpenStack can
|
Queue mirroring is no longer controlled by the _x-ha-policy_ argument when declaring a queue. OpenStack can
|
||||||
continue to declare this argument, but it won't cause queues to be mirrored.
|
continue to declare this argument, but it won't cause queues to be mirrored.
|
||||||
We need to make sure that all queues (except those with auto-generated names) are mirrored across all nodes in running:
|
We need to make sure that all queues (except those with auto-generated names) are mirrored across all running nodes:
|
||||||
----
|
----
|
||||||
rabbitmqctl set_policy HA '^(?!amq\.).*' '{"ha-mode": "all"}'
|
rabbitmqctl set_policy HA '^(?!amq\.).*' '{"ha-mode": "all"}'
|
||||||
----
|
----
|
||||||
@ -83,8 +83,8 @@ http://www.rabbitmq.com/ha.html[More informations about High availability in Rab
|
|||||||
|
|
||||||
==== Configure OpenStack Services to use RabbitMQ
|
==== Configure OpenStack Services to use RabbitMQ
|
||||||
|
|
||||||
Since Grizzly Release, most of OpenStack components using queuing has been supported the feature,
|
Since the Grizzly Release, most of the OpenStack components using queuing have supported the feature.
|
||||||
we have to configure them to use at least two RabbitMQ nodes.
|
We have to configure them to use at least two RabbitMQ nodes.
|
||||||
|
|
||||||
Do this configuration on all services using RabbitMQ:
|
Do this configuration on all services using RabbitMQ:
|
||||||
|
|
||||||
@ -118,11 +118,11 @@ Use H/A queues in RabbitMQ (x-ha-policy: all):
|
|||||||
rabbit_ha_queues=true
|
rabbit_ha_queues=true
|
||||||
----
|
----
|
||||||
|
|
||||||
If you change the configuration from an old setup which did not use HA queues, you should interrupt the service :
|
If you change the configuration from an old setup which did not use HA queues, you should interrupt the service:
|
||||||
----
|
----
|
||||||
rabbitmqctl stop_app
|
rabbitmqctl stop_app
|
||||||
rabbitmqctl reset
|
rabbitmqctl reset
|
||||||
rabbitmqctl start_app
|
rabbitmqctl start_app
|
||||||
----
|
----
|
||||||
|
|
||||||
Services currently working with HA queues : OpenStack Compute, Cinder, OpenStack Networking, Ceilometer.
|
Services currently working with HA queues: OpenStack Compute, OpenStack Block Storage, OpenStack Networking, Telemetry.
|
||||||
|
Loading…
Reference in New Issue
Block a user