RabbitMQ集群搭建
一、服务器配置hosts
ip: 192.168.1.165 mq1
ip: 192.168.1.166 mq2
ip: 192.168.1.167 mq3
三台服务器设置主机名
hostnamectl set-hostname mq1
hostnamectl set-hostname mq2
hostnamectl set-hostname mq3
重启服务器
三台服务器配置/etc/hosts
执行命令:
cat >> /etc/hosts << EOF
192.168.1.165 mq1
192.168.1.166 mq2
192.168.1.167 mq3
EOF
二、下载安装包
安装包地址
erlang
链接:https://pan.baidu.com/s/1aoRoq1bDLaSbMhXqCGfDAg
提取码:z2g2
rabbitmq-server
链接:https://pan.baidu.com/s/1FUNBUEaeFnys-1CS_sYQYA
提取码:mki1
三、安装依赖包
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
四、安装ERLANG
上传安装包到服务器
rpm -ivh erlang-21.3-1.el7.x86_64.rpm
验证erlang是否安装成功
执行命令erl
[root@mq3 package]# erl
Erlang/OTP 21 [erts-10.3] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
Eshell V10.3 (abort with ^G)
1>
退出命令ctl+C -->a
五、RabbitMQ单节点安装
上传安装包到服务器
yum -y install rabbitmq-server-3.8.8-1.el7.noarch.rpm
启动服务
service rabbitmq-server start
查看状态命令
rabbitmqctl status
设置账户密码及权限
创建账号
rabbitmqctl add_user admin 123
设置用户角色
rabbitmqctl set_user_tags admin administrator
设置用户权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
访问 RabbitMQ 管理后台
开启管理后台插件
···
rabbitmq-plugins enable rabbitmq_management
···
关闭防火墙
systemctl stop firewalld
六、集群部署
使用集群的原因
最开始我们介绍了如何安装及运行 RabbitMQ 服务,不过这些是单机版的,无法满足目前真实应用的要求。如果 RabbitMQ 服务器遇到内存崩溃、机器掉电或者主板故障等情况,该怎么办?单台 RabbitMQ服务器可以满足每秒 1000 条消息的吞吐量,那么如果应用需要 RabbitMQ 服务满足每秒 10 万条消息的吞吐量呢?购买昂贵的服务器来增强单机 RabbitMQ 务的性能显得捉襟见肘,搭建一个 RabbitMQ 集群才是解决实际问题的关键.
搭建步骤
1.以确保各个节点的 cookie 文件使用的是同一个值
在 mq1 上执行远程操作命令
scp /var/lib/rabbitmq/.erlang.cookie root@mq2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@mq3:/var/lib/rabbitmq/.erlang.cookie
2.启动 RabbitMQ 服务,顺带启动 Erlang 虚拟机和 RbbitMQ 应用服务(在三台节点上分别执行以下命令)
rabbitmq-server -detached
3. 在节点 2 执行
rabbitmqctl stop_app
(rabbitmqctl stop 会将 Erlang 虚拟机关闭,rabbitmqctl stop_app 只关闭 RabbitMQ 服务)
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@mq1
rabbitmqctl start_app(只启动应用服务)
4. 在节点 3 执行
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@mq2
rabbitmqctl start_app
5. 集群状态
rabbitmqctl cluster_status
需要重新设置用户
创建账号
rabbitmqctl add_user admin password
设置用户角色
rabbitmqctl set_user_tags admin administrator
设置用户权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
七、控制台访问
八、集群设置镜像模式
点击admin
点击Polices
根据实际填写并提交
通过命令开启高可用
rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:“all”}’
这样Rabbitmq集群就搭建完了