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,[]}]}]