rabbitmq集群节点操作

节点恢复过程中把数据删掉很重要,恢复一单结点,再清数据
节点增加:

加入集群会隐式重置节点,从而删除此节点上以前存在的所有资源和数据

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.
原文地址:https://www.cnblogs.com/flyhgx/p/8776364.html