目录
第1章 RabbitMQ简介
第2章 RabbitMQ入门
第3章 客户端开发向导
第4章 RabbitMQ进阶
第5章 RabbitMQ管理
5.1 多租户与权限
5.2 用户管理
5.3 Web端管理
5.4 应用与集群管理
5.4.1 应用管理
5.4.2 集群管理
rabbitmqctl forget_cluster_node [--offline]
将节点从集群中删除,允许离线执行。
第6章 RabbitMQ配置
第7章 RabbitMQ运维
7.3 单节点故障恢复
单节点故障包括:机器硬件故障、机器掉电、网络异常、服务进程异常。
单节点机器硬件故障:无法从软件角度来恢复。此时需要在集群中的其他节点中执行 rabbitmqctl forget_cluster_node {nodename} 命令来将故障节点剔除。
机器掉电故障:接通电源重启机器。此时当前机器节点上的RabbitMQ处于stop状态,(此时重启服务,可能会引起网络分区)。在其他节点上执行 rabbitmqctl forget_cluster_node {nodename} 命令将机器掉电故障的节点从集群中剔除,然后删除当前故障机器的RabbitMQ中的Mnesia数据(相当于重置),然后再重启RabbitMQ服务,最后再将此节点作为一个新的节点加入到当前集群中。
网络故障:
服务进程异常:
7.4 集群迁移
扩容:
迁移:
RabbitMQ集群迁移包括元数据重建、数据迁移,以及与客户端连接的切换。
7.4.1 元数据重建
元数据重建是指在新的集群中创建原集群的队列、交换器、绑定关系、vhost、用户、权限和Parameter等数据信息。
元数据重建方式:手动创建、客户端创建
手动创建:
客户端创建:Web管理界面
原集群突发故障
新旧集群的RabbitMQ版本不一致
元数据重建在同一个集群节点上,其他节点处于空置状态
通过HTTP API接口创建相应的数据