服务器 | IP | hostname |
---|---|---|
rabbit-50 | 192.168.86.50 | node0 |
rabbit-51 | 192.168.86.51 | node1 |
rabbit-52 | 192.168.86.52 | node2 |
根据服务器的内核下载对应的 Erlang 版本、rabbitmq 的版本,并且将两个文件上传到服务器 /opt 目录下
uname -r
?
yum install socat logrotate -y
安装依赖 Erlang
cd /opt #进入上传目录
rpm -ivh erlang-23.3.4.4-1.el7.x86_64.rpm
安装 rabbitmq
rpm -ivh rabbitmq-server-3.8.19-1.el7.noarch.rpm
设置开机自启动
chkconfig rabbitmq-server on
安装rabbitmq_management 插件用于前台管理
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user root s3crEt
rabbitmqctl set_user_tags root administrator
rabbitmqctl set_permissions --vhost ‘/‘ root ‘.*‘ ‘.*‘ ‘.*‘
启动、停止、查看状态
/sbin/service rabbitmq-server status #查看状态
/sbin/service rabbitmq-server start #启动
/sbin/service rabbitmq-server stop #停止
前台浏览器访问 http://localhost:15672
修改三台机器的主机名称: vi /etc/hostname
配置各个节点的hosts文件,让各个节点能够互相识别对方: vi /etc/host
192.168.86.50 node0
192.168.86.51 node1
192.168.86.52 node2
重启服务器
按照单机模式部署的步骤,每台机器从第1步执行到第6步结束
确保每个服务器的 erlang.cookie 文件使用的是同一个值,在node0执行以下命令:
scp /var/lib/rabbitmq/.erlang.cookie root@node1:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/.erlang.cookie
启动 rabbitmq 服务,在三台机器上执行以下命令
systemctl start rabbitmq-server
在 node1 执行以下命令
rabbitmqctl join_cluster rabbit@node0
rabbitmqctl start_app
在node2执行以下命令
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app
查看集群状态
rabbitmqctl cluster_status
创建用户及赋权
rabbitmqctl add_user admin 123 #创建用户
rabbitmqctl set_user_tags admin administrator #设置用户角色
rabbitmqctl set_permissions -p ‘/‘ admin ‘.*‘ ‘.*‘ ‘.*‘ #设置用户权限
随便打开一个节点的管理界面查看集群状态:
如何解除集群节点?
#node1 上执行
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status
#node0 上执行
rabbitmqctl forget_cluster_node rabbit@node1
原文:https://www.cnblogs.com/shulipeng/p/15089343.html