节点恢复过程中把数据删掉很重要,恢复一单结点,再清数据
节点增加:
加入集群会隐式重置节点,从而删除此节点上以前存在的所有资源和数据
1. rabbitmq-server -detached # 启动
2. rabbitctl stop_app #关闭应用
3. rabbitmqctl join_cluster --ram rabbit@rabbitmq1 #join clusuter
4. rabbitmqctl start_app
5. rabbitmqctl cluster_status
节点删除
#当节点不再是节点的一部分时,需要从集群中明确地删除节点。
1. rabbitmq-server -detached
以上为基础,正常运行的mq节点直接进行2、3两步;4可省略或更改为rabbitmqctl stop
2. rabbitctl stop_app
3. rabbitmqctl reset #清除所有队列
4. rabbitmqctl start_app
硬删除:
直接删掉集群中的某个节点:
#也可以远程删除节点,例如,在处理无响应的节点时
rabbitmqctl forget_cluster_node node_name
#注意,rabbit1仍然认为它与rabbit2集群 ,并试图启动它将导致错误。我们需要重新设置才能重新启动
[root@rabbit1 ~]# rabbitmqctl reset #必须要重置
[root@rabbit1 ~]# rabbitmqctl start_app
由disc-->ram
1.节点删除
rabbitmq-server -detached
rabbitctl stop_app
rabbitmqctl reset
2.清除原数据(暂时备份到其他地方)
rabbitmqctl join_cluster --ram rabbit@rabbitmq1
rabbitmqctl start_app
3.节点增加
由disc-->ram
先恢复到单结点,重启,清数据
加集群
更改节点类型
我们可以将节点的类型从ram更改为disc,反之亦然。假设我们想要颠倒rabbit @ rabbit2和rabbit @ rabbit1的类型 ,将前者从ram节点转换为disc节点,将后者从disc节点转换为ram节点。要做到这一点,我们可以使用 change_cluster_node_type命令。该节点必须先停止
rabbit2$ rabbitmqctl stop_app
Stopping node rabbit@rabbit2 ...done.
rabbit2$ rabbitmqctl change_cluster_node_type disc
Turning rabbit@rabbit2 into a disc node ...
...done.
Starting node rabbit@rabbit2 ...done.
rabbit1$ rabbitmqctl stop_app
Stopping node rabbit@rabbit1 ...done.
rabbit1$ rabbitmqctl change_cluster_node_type ram
Turning rabbit@rabbit1 into a ram node ...
rabbit1$ rabbitmqctl start_app
Starting node rabbit@rabbit1 ...done.