赞
踩
背景:
系统为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,使用刚刚设置的用户与密码登陆。前提是防火墙已经开放此端口或者关闭防火墙。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。