1、安装RabbitMQ-server

[root@controller1 ~]# yum install -y erlang rabbitmq-server

[root@controller1 ~]# systemctl start rabbitmq-server.service

[root@controller1 ~]# systemctl enable rabbitmq-server.service

[root@controller1 ~]# systemctl status rabbitmq-server.service

[root@controller1 ~]# systemctl list-unit-files | grep rabbitmq

rabbitmq-server.service                       enabled

以上三个节点同时进行


2

[root@controller1 ~]# rabbitmqctl add_user openstack zoomtech

Creating user "openstack" ...

[root@controller1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"

Setting permissions for user "openstack" in vhost "/" ...


[root@controller1 ~]# /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent

The following plugins have been enabled:

  webmachine

  rabbitmq_web_dispatch

  rabbitmq_management_agent

  rabbitmq_management

  mochiweb

  amqp_client

Applying plugin configuration to rabbit@controller1... failed.

 * Could not contact node rabbit@controller1.

   Changes will take effect at broker restart.

 * Options: --online  - fail if broker cannot be contacted.

            --offline - do not try to contact broker.

[root@controller1 ~]# systemctl restart rabbitmq-server.service

[root@controller1 ~]# systemctl status rabbitmq-server.service


登录:http://192.168.17.132:15672/#/

Username: guest      Password:guest


新增一个用户,在三个节点中操作

[root@controller1 ~]# rabbitmqctl add_user mqadmin mqadmin

Creating user "mqadmin" ...

[root@controller1 ~]# rabbitmqctl set_permissions -p / mqadmin ".*" ".*" ".*"

Setting permissions for user "mqadmin" in vhost "/" ...

[root@controller1 ~]# rabbitmqctl status


复制.erlang.coolie到controller2和controller3

[root@controller1 ~]# scp /var/lib/rabbitmq/.erlang.cookie controller2:/var/lib/rabbitmq/.erlang.cookie

[root@controller1 ~]#

[root@controller1 ~]# scp /var/lib/rabbitmq/.erlang.cookie controller3:/var/lib/rabbitmq/.erlang.cookie


将controller2加入到controller1集群中

[root@controller2 ~]# systemctl restart rabbitmq-server.service


[root@controller2 ~]# rabbitmqctl stop_app

Stopping node rabbit@controller2 ...


[root@controller2 ~]# rabbitmqctl join_cluster --ram rabbit@controller1

Clustering node rabbit@controller2 with rabbit@controller1 ...


[root@controller2 ~]# rabbitmqctl start_app

Starting node rabbit@controller2 ...


将controller3加入到controller1集群中

[root@controller3 ~]# systemctl restart rabbitmq-server.service


[root@controller3 ~]# rabbitmqctl stop_app

Stopping node rabbit@controller3 ...


[root@controller3 ~]# rabbitmqctl join_cluster --ram rabbit@controller1

Clustering node rabbit@controller3 with rabbit@controller1 ...


在Controller1上查看集群状态

[root@controller1 ~]# rabbitmqctl cluster_status

Cluster status of node rabbit@controller1 ...

[{nodes,[{disc,[rabbit@controller1]},

         {ram,[rabbit@controller3,rabbit@controller2]}]},

 {running_nodes,[rabbit@controller3,rabbit@controller2,rabbit@controller1]},

 {cluster_name,<<"rabbit@controller1">>},

 {partitions,[]},

 {alarms,[{rabbit@controller3,[]},

          {rabbit@controller2,[]},

          {rabbit@controller1,[]}]}]


[root@controller2 ~]# rabbitmqctl cluster_status

Cluster status of node rabbit@controller2 ...

[{nodes,[{disc,[rabbit@controller1]},

         {ram,[rabbit@controller3,rabbit@controller2]}]},

 {running_nodes,[rabbit@controller3,rabbit@controller1,rabbit@controller2]},

 {cluster_name,<<"rabbit@controller1">>},

 {partitions,[]},

 {alarms,[{rabbit@controller3,[]},

          {rabbit@controller1,[]},

          {rabbit@controller2,[]}]}]