rabbitmq 3.6.6集群升级目前最新版本3.8.5

背景:
系统为centos 7.2 ,目前使用的rabbitmq版本比较旧,故在测试环境下验证升级到目前为止的最新版本3.8.5

各版本依赖的erlang不同,详情可见https://www.rabbitmq.com/which-erlang.html
现erlang的版本过低,故还得升级到最新的erlang才行了。

1.卸载相关程序
各节点执行:
yum remove -y rabbitmq-server erlang*

2.安装新版本Erlang
不同系统的方法不一样,详情见https://github.com/rabbitmq/erlang-rpm ,以下是基于centos7的方法。
各节点创建相关文件并录入内容再执行命令
vi /etc/yum.repos.d/rabbitmq_erlang.repo
内容:
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

yum install erlang -y
安装成功后,可以验证一下
在这里插入图片描述
3.下载rabbitmq最新安装包并安装
各节点执行以下命令:
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el7.noarch.rpm

rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm

4.清除旧版本残余数据
rm -rf /var/lib/rabbitmq/mnesia/*
如果有配置文件的则备份一下
mv /etc/rabbitmq/rabbitmq.config /etc/rabbitmq/rabbitmq.config.bak
由于之前已经存在了/var/lib/rabbitmq/.erlang.cookie 文件,并且内容都一样则可以继续下一步。
如果不存在,那在这也说一下吧。
首先主节点启动一下服务,然后文件就生成了,查看其内容
systemctl start rabbitmq-server
cat /var/lib/rabbitmq/.erlang.cookie
其它节点生成对应的文件与内容,最后修改一下权限
chmod 400 /var/lib/rabbitmq/.erlang.cookie
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

5.安装插件并启动服务
各节点执行以下命令:
rabbitmq-plugins enable rabbitmq_management
systemctl start rabbitmq-server

6.加入集群
其它节点执行如下命令:
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app
加入集群成功后,在任意节点可以通过rabbitmqctl cluster_status进行查看相关状态
在这里插入图片描述
7.设置镜像队列策略
在任一节点上执行:
rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:“all”}’

8.新增账号密码
rabbitmqctl add_user username password
设置为管理员
rabbitmqctl set_user_tags username administrator
授权远程访问权限
rabbitmqctl set_permissions -p / username “.” “.” “.*”
删除来宾用户
rabbitmqctl delete_user guest
重启服务
systemctl restart rabbitmq-server

9.浏览器查看
其中一个节点ip:15672,使用刚刚设置的用户与密码登陆。前提是防火墙已经开放此端口或者关闭防火墙。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RabbitMQ 提供了一种高可用性的集群解决方案,通过将多个 RabbitMQ 节点组成一个集群来实现。 在 RabbitMQ集群中,每个节点都是一个独立的 RabbitMQ 服务器,它们之间通过网络进行通信和数据同步。集群中的节点可以在同一台物理服务器或不同的物理服务器上运行。 以下是 RabbitMQ 集群的一些关键特点和实现方式: 1. 数据复制和同步:在集群中,消息、交换器、队列等对象会在所有节点之间进行复制和同步,以确保数据的一致性和可用性。当一个节点接收到消息后,它会将消息复制到其他节点上,以实现数据的冗余备份。 2. 负载均衡:集群中的消息会自动在各个节点之间进行分发和负载均衡。当一个节点接收到消息时,它会根据一定的策略将消息分发给其他节点,以实现消息的平衡处理和提高系统的吞吐量。 3. 高可用性:如果集群中的某个节点发生故障或宕机,其他节点可以接管其工作,并继续提供服务。这种故障转移机制确保了系统的高可用性和持续可靠的消息传递。 4. 集群模式:RabbitMQ 提供了两种集群模式,即镜像队列模式和队列分区模式。镜像队列模式将队列的消息复制到集群中的所有节点,以实现数据的冗余备份。队列分区模式将队列的消息分散到不同的节点上,以提高系统的吞吐量和并发性能。 需要注意的是,RabbitMQ集群配置需要正确地进行节点配置、网络设置和集群连接等,以确保集群的正常运行和数据的一致性。同时,集群配置还需要考虑到负载均衡、故障转移和性能调优等因素,以满足具体业务需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值