一、概述
由于之前搭建的版本过低,有很多漏洞需要修复。因此需要升级到最新版本3.8.2
上一篇链接:
https://www.cnblogs.com/xiao987334176/p/12303664.html
二、正式升级
环境说明
操作系统 | ip | 主机名 | 配置 |
---|---|---|---|
centos 6.9 | 192.168.31.7 | mq_01 | 1核2g |
centos 6.9 | 192.168.31.216 | mq_02 | 1核2g |
centos 6.9 | 192.168.31.214 | mq_03 | 1核2g |
备份数据
登录到mq后台,点击Export definitions,导出数据。数据文件为json
下载更新文件
mq_01执行
代码语言:javascript复制mkdir -p /data/software/rabbitmq_update
cd /data/software/rabbitmq_update
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.2/rabbitmq-server-3.8.2-1.el6.noarch.rpm
复制文件到另外2台服务器
mq_01执行
代码语言:javascript复制scp -P 22 -r rabbitmq_update 192.168.31.216:/data/software/
scp -P 22 -r rabbitmq_update 192.168.31.214:/data/software/
关闭并卸载mq
3台服务器都执行一下
代码语言:javascript复制/etc/init.d/rabbitmq-server stop
yum remove -y rabbitmq-server erlang*
rm -rf /var/lib/rabbitmq/*
rm -rf /data/rabbitmq/mnesia/*
rm -rf /usr/lib64/erlang
rm -rf /var/lib/rabbitmq
安装更新源
3台服务器都执行一下
代码语言:javascript复制yum install -y wget
cd /data/software/rabbitmq_update
rpm -ivh erlang-solutions-1.0-1.noarch.rpm
将erlang的yum源并将yum源改为国内清华的yum源
代码语言:javascript复制vim /etc/yum.repos.d/erlang_solutions.repo
内容如下:
代码语言:javascript复制[erlang-solutions]
name=Centos $releasever - $basearch - Erlang Solutions
#baseurl=http://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
baseurl=https://mirrors4.tuna.tsinghua.edu.cn/erlang-solutions/centos/6/
gpgcheck=1
#gpgkey=http://packages.erlang-solutions.com/debian/erlang_solutions.asc
gpgkey=http://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1
安装erlang
3台服务器都执行一下
代码语言:javascript复制yum -y install erlang
yum clean all
安装rabbitmq
3台服务器都执行一下
代码语言:javascript复制rpm -ivh rabbitmq-server-3.8.2-1.el6.noarch.rpm
cd /etc/rabbitmq/
mv rabbitmq.conf rabbitmq.config
/etc/init.d/rabbitmq-server start
拷贝cookie
其它2台主机拷贝第一台的cookie
登录mq_02,mq_03执行
代码语言:javascript复制scp -P 27 192.168.10.184:/var/lib/rabbitmq/.erlang.cookie /var/lib/rabbitmq/
chown -R rabbitmq.rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 600 /var/lib/rabbitmq/.erlang.cookie
安装插件
3台都安装一下
代码语言:javascript复制rabbitmq-plugins enable rabbitmq_management
创建用户及授权
3台都执行一下
代码语言:javascript复制rabbitmqctl add_user admin 'admin123'
rabbitmqctl set_permissions -p / admin . . .
rabbitmqctl set_user_tags admin administrator
加入mq集群
其他2台节点,加入到第一台 登录mq_02,mq_03节点,先关闭,加入,最后启动
代码语言:javascript复制rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@mq_01
rabbitmqctl start_app
查看集群状态
登录任意节点查看
代码语言:javascript复制rabbitmqctl cluster_status
导入数据
访问mq后台,如果左上角出现rabbitmq ReferenceError: disable_stats is not defined
等待几分钟,刷新一下即可
登录之后,点击 Import definitions
选择json文件,点击Upload broker definitions
,开始导入。
最后由开发人员,测试一下生产和消费是否正常。
本文参考链接:
https://www.cnblogs.com/wangkaiok/p/11942855.html
https://blog.csdn.net/bushcat2015/article/details/88627969
https://www.jianshu.com/p/83acc90c2792