rabbitmq集群和常用命令


1、集群搭建

轉載:https://blog.51cto.com/11134648/2155934

2、集群類型

集群分為普通模式和鏡像模式

 元數據包含一下內容:

隊列元數據:隊列名稱及屬性。

交換器:交換器名稱及屬性。

綁定關系元數據:交換器與隊列或者交換器與交換器。

vhost元數據:為vhost內的隊列、交換器和綁定提供命名空間及安全屬性之間的綁定關系。

 

 

 

 

 

 

3、常用命令

#查看節點狀態
rabbitmqctl status

#停止運行rabbitmq的erlang虛擬機和rabbitmq服務應用
#如果指定了pid_file,還需要等待指定進程的結束。pid_file是通過調用
#rabbitmq-server命令啟動rabbitmq服務時創建的,默認情況下存放於
#Mnesia目錄中。若使用rabbitmq-sever-detach這個帶有-detach后綴
#的命令來啟動rabbitmq服務則不會生成pid-file文件。
rabbitmqctl stop [pid_file]

#停止rabbitmq服務應用,但是erlang虛擬機還處於運行狀態。此命令
#的執行優先於其它管理操作(這些管理操作需要先停止rabbitmq應用),
#比如rabbitmqctl reset
rabbitmqctl stop_app

#將rabbitmq節點還原到最初狀態。
#包括從原來所在集群中刪除此節點,從管理數據庫中刪除所有的配置數
#據,如已經配置的用戶,vhost等,以及刪除所有的持久化消息。
#執行rabbitmq reset命令前必須停止rabbitmq應用(比如先執行rabbitmqctl stop_app)
rabbitmqctl reset

#強制將rabbitmq節點重置還原到最初狀態。此命令不論當前管理數據庫
#的狀態和集群配置是什么,都會無條件地重置節點,只能在數據庫或集群
#配置已經損壞的情況下使用
rabbitmqctl force_reset

#將節點加入到指定集群中。在這個命令執行簽需要停止rabbitmq應用並重#置節點
rabbitmqctl [-n nodename] join_cluster {cluster_node}[--ram]
-n nodename:指定需要操作的目標節點,例如:rabbit@node1
cluster_node:需要加入的集群節點名稱,格式同上
--ram:集群節點類型,有兩種:ram|disc,默認disc
(ram:內存節點,所有的元數據都存儲在內存中;disc:磁盤節點,所有的元數據都存儲在磁盤中)

#查看集群狀態
rabbitmqctl cluster_status

#修改集群節點類型,使用此命令前要停止rabbitmq應用
rabbitmqctl change_cluster_node_type {disc|ram} node_name

#將節點重集群中刪除,允許離線執行
rabbitmqctl forget_cluster_node [--offiine]

#在集群中的節點應用啟動前咨詢clusternode節點的最新信息,並更新
#相應的集群信息。這個和join_cluster不同,他不加入集群
rabbitmqctl update_cluster_nodes {clusternode}


#確保節點可以啟動,即使他不是最后一個關閉的節點
rabbitmqctl force_boot
(集群中的節點相繼宕機,如果要恢復之前的集群,則需要按照節點宕機的先后順序,從后向前啟動節點,因為最后宕機的節點數據最完善)


#設置集群名稱。集群名稱在客戶端連接的時候回通報給客戶端。
#集群名稱默認是集群中第一個節點的名稱
rabbitmqctl set_cluster_name {name}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM