环境:centos7、erlang18.3、rabbitmq3.6.12
本次采用多机多可用方式作为实例:
1.1.准备多台服务器,安装好erlang和rabbitmq,保证服务启动后可以出现图像化界面。
1.2.检查服务器上的rabbitmq的历史记录是否存在,清除该路径下的所有文件
rabbitmq/var/lib/rabbitmq/mnesia
1.3.设置erlang.cookie
保证不同节点的erlang.cookie的随机串内容一致。
注:
该文件可能存在于/root/.erlang.cookie
或/var/lib/rabbitmq/.erlang.cookie
1.4.设置所有服务器的hosts文件
vi /etc/hosts
将内容中添加所有节点的ip,和主机名
1.5.设置服务器名称(分别设置)
vi /etc/sysconfig/network
1.6.运行各节点
rabbitmq-server -detached
1.7.搭建集群
本次以rabbit1为主节点,rabbit2、rabbit3为从节点。
分别在从节点运行命令:
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbit1
rabbitmqctl start_app
查看集群状态:
rabbitmqctl cluster_status
配置完成后,看到的集群状态:
Cluster status of node rabbit@rabbit2
[{nodes,[{disc,[rabbit@rabbit1,rabbit@rabbit2]}]},
{running_nodes,[rabbit@rabbit1,rabbit@rabbit2]},
{cluster_name,<<“rabbit@rabbit2”>>},
{partitions,[]},
{alarms,[{rabbit@rabbit1,[]},{rabbit@rabbit2,[]}]}]
1.8.在任意一个节点创建用户,设置权限
rabbitmqctl add_user liuyz 123456
rabbitmqctl set_user_tags liuyz administrator
rabbitmqctl set_permissions -p ‘/’ liuyz ‘.’ ‘.’ ‘.’
1.9.登录web页面,查看集群配置情况
1.10.集群就此搭建完成,在任意一个节点创建交换机、节点,其余节点都会同步复制数据。(也就是说本演示为基于元数据进行操作)