RabbitMq集群镜像模式的搭建,安装包是公司提供的,如需要请去官网自行下载
1.安装
- 上传文件 任意文件夹都行
socat-1.7.3.2-2.el7.x86_64.rpm
logrotate-3.8.6-17.el7.x86_64.rpm
erlang-23.0.4-1.el7.x86_64.rpm
rabbitmq-server-3.8.8-1.el7.noarch.rpm
- 安装文件
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
rpm -ivh logrotate-3.8.6-17.el7.x86_64.rpm
rpm -ivh erlang-23.0.4-1.el7.x86_64.rpm
rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm
2. 开机自启
chkconfig rabbitmq-server on
3. 配置web控制台、stomp、管理员账户等
需要先启动rabbitmq
//启动
systemctl start rabbitmq-server
//停止
systemctl stop rabbitmq-server
配置插件,平台
rabbitmq-plugins enable rabbitmq_management rabbitmq_web_stomp rabbitmq_stomp rabbitmq_top rabbitmq_tracing
4.配置账户
此步骤只需要在一台服务器配置,此处成为1号机
假设 1号: 127.0.0.1
假设 2号: 127.0.0.2
因为gust只能本机登录 我们自己添加一个账户
rabbitmqctl add_user rabbitmanager rabbit123456 //账号密码
rabbitmqctl set_user_tags rabbitmanager administrator
rabbitmqctl set_permissions -p / rabbitmanager ".*" ".*" ".*"
rabbitmqctl add_vhost /test //创建virtual Hosts
//给用户设置virtual Hosts
rabbitmqctl set_permissions -p /test rabbitmanager '.*' '.*' '.*'
//添加镜像模式
rabbitmqctl set_policy -p /ibms-2.1-taiyuan my_ha "^" '{"ha-mode":"all"}'
5.设置集群
1.查看1号机的erlang的cookie rabbitmq的集群是依靠这个匹配的
cat /var/lib/rabbitmq/.erlang.cookie
2.在2服务器执行
//将1服务器中的erlang.cookie 复制到2服务器中 Rabbitmq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。Erlang的集群中各节点是经由过程一个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权限。所以必须保证各节点cookie一致,不然节点之间就无法通信
scp /var/lib/rabbitmq/.erlang.cookie root@127.0.0.2:/var/lib/rabbitmq/.erlang.cookie
//复制完成后需要重启一下
systemctl stop rabbitmq-server
systemctl start rabbitmq-server
6.更改/etc/hosts文件
更改 hostname https://blog.csdn.net/weixin_41010198/article/details/86497317
更改
两个服务器都可以这样改hosts
# localhost81
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 num1 # 1号服务器的ip hostname
127.0.0.2 num2 # 2号服务器的ip hostname
在子服务器中操作
rabbitmqctl stop_app //停掉rabbit应用
rabbitmqctl join_cluster rabbit@num1 //加入到磁盘节点 如果要使mq02、mq03都是磁盘节点,去掉--ram参数即可。
rabbitmqctl start_app //启动rabbit应用
访问的rabbitMQ的后台管理页面 端口15672
如图所示,代表集群配置成功