採用鏡像隊列的方案進行配置html
一、 網絡拓撲node
node1:10.10.11.1vim
node2:10.10.11.2cookie
二、 配置hosts網絡
node1+node2:app
vim /etc/hostsspa
>10.10.11.1 rab1server
>10.10.11.2 rab2htm
三、 安裝epelrabbitmq
node1+node2:
Centos 5.x
wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uvh epel-release-5*.rpm
Centos 6.x
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6*.rpm
四、 安裝erlang
node1+node2:
yum install erlang
五、 下載rabbitMQ並安裝
node1+node2:
yum install rabbitmq-server
【下載地址: http://www.rabbitmq.com/install-rpm.html
rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
yum install rabbitmq-server-3.3.5-1.noarch.rpm】
六、 運行rabbitMQ
node1+node2:
chkconfig rabbitmq-server on
service rabbitmq-server start
七、 確保節點使用相同的Erlang cookie文件
先中止兩個節點的rabbitMQ
node1:
scp /var/lib/rabbitmq/.erlang.cookie \
root@rab2:/var/lib/rabbitmq/.erlang.cookie
八、 關閉防火牆
node1+node2:
service iptables stop
九、 配置rabbitMQ集羣
node2:
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@rab1
rabbitmqctl start_app
九、檢測集羣配置
rabbitmqctl cluster_status
十、配置鏡像隊列
rabbitmqctl set_policy HA '^(?!amq\.).*' '{"ha-mode": "all"}'
十一、配置服務使用鏡像隊列
RabbitMQ HA cluster host:port pairs:
rabbit_hosts=rabbit1:5672,rabbit2:5672
How frequently to retry connecting with RabbitMQ:
rabbit_retry_interval=1
How long to back-off for between retries when connecting to RabbitMQ:
rabbit_retry_backoff=2
Maximum retries with trying to connect to RabbitMQ (infinite by default):
rabbit_max_retries=0
Use durable queues in RabbitMQ:
rabbit_durable_queues=false
Use HA queues in RabbitMQ (x-ha-policy: all):
rabbit_ha_queues=true
If you change the configuration from an old setup which did not use HA queues, you should interrupt the service:
# rabbitmqctl stop_app
# rabbitmqctl reset
# rabbitmqctl start_app
Services currently working with HA queues: OpenStack Compute, OpenStack Block Storage, OpenStack Networking, Telemetry.