升级Rabbitmq 3.6.3版本⾄3.6.6版本,升级过程中的⼀些关键步骤记录
Step 1:
顺序关闭集所有节点,这⾥注意最后⼀个关闭的节点必须保证为硬盘节点,⽽⾮RAM节点; centOS 7.x+可使⽤systemctl⼯具关闭;垂直母排
Step 2:
/var/lib/rabbitmq/mnesia
其中包含该节点集信息及持久化内容;
并将该数据库⽬录名变更为mnesia_xxxx(如mnesia_backup_20161213),因为新的rabbitmq服务启动后会重新建⽴mnesia数据库; Step 3:
顺序升级所有节点rabbitmq-server版本;
Step 4:
先启动集主节点,之后重新创建⽤户及⽤户组:
$sudo rabbitmqctl add_user jiak jiak //新增⽤户
$sudo rabbitmqctl set_user_tags jiak administrator //设置⽤户组(标签)
$sudo rabbitmqctl set_permissions -p / jiak ".""."".*"//为⽤户分配权限
Step 5:
随后开始启动从节点,启动后仍然先创建⽤户组,与Step4相同;
折流板除雾器 然后将从节点加⼊主节点集:
$sudo rabbitmqctl stop_app
$sudo rabbitmqctl join_cluster rabbit@gs-server-xxxx
$sudo rabbitmqctl start_app
Step 6:led天花灯说明书
对集所有从节点重复Step5,直到整个集所有节点正常启动并加⼊主节点集。
上述步骤对⾮在线升级没有问题,但是升级前队列中的消息,包括host,exchange等信息均会丢失,如果需要保留原有的队列相关信息,需要回复原有mnesia数据库;
以下步骤为恢复⽅法(该部分未测试):全自动电脑针织机
Step1:顺序停⽌集中所有节点服务,确保最后⼀个中⽌服务的节点为Disc节点⽽⾮RAM节点;
Step2:每个节点原有mnesia数据库改名,最后⼀个节点的mnesia数据库备份改名;
Step3:升级每个节点的rabbitmq-server版本;
锌合金压铸工艺Step4:中⽌epmd服务(Erlang port mapper daemon),如果/var/lib/rabbitmq/mnesia⽬录存在,删除掉,然后拷贝备份的mnesia数据库⽬录过来;
Step5:启动主节点的rabbitmq-server服务,并添加⽤户及⽤户组权限;
然后对集中所有从节点,依次按上⼀部分的Step5,启动服务,添加⽤户/组,加⼊主节点集即可。
注:后⼀种恢复⽅案未经过亲⾃验证。