rabbitmq使用

一、rabbitmq常用命令
rabbitmq啓動 :

rabbitmq-server -detached 或者 service rabbitmq-server start

rabbitmq使用
查看rabbitmq啓動狀態 :

rabbitmqctl status  或者 service rabbitmq-server status

rabbitmq使用
rabbitmq關閉 :

rabbitmqctl stop  或者 service rabbitmq-server stop

rabbitmq使用
創建vhost :

rabbitmqctl add_vhost vhostname              
例:rabbitmqctl add_vhost vhost1

rabbitmq使用
查看vhost列表 :

rabbitmqctl list_vhosts

rabbitmq使用
刪除vhost :

rabbitmqctl delete_vhost vhostname
例:rabbitmqctl delete_vhost vhost1

rabbitmq使用
創建用戶 :

rabbitmqctl add_user username password  
例:rabbitmqctl add_user test test

rabbitmq使用
查看用戶列表 :

rabbitmqctl list_users

rabbitmq使用
修改用戶密碼 :

rabbitmqctl change_password username new-password 
例:rabbitmqctl change_password test test1

rabbitmq使用
驗證用戶 :

rabbitmqctl authenticate_user user password     
例: rabbitmqctl authenticate_user test test1

rabbitmq使用
設置用戶角色:

rabbitmqctl set_user_tags username tag 
例:rabbitmqctl set_user_tags test monitoring

rabbitmq使用
用戶角色:none、management、policymaker、monitoring、administrator,權限由低到高,爲用戶設置角色時,tag可以是多個
默認情況會有一個guest用戶有所有權限,安全起見,先把guest用戶刪除
用戶授權:

rabbitmqctl set_permissions -p vhostname username "conf" "write" "read" 
例:rabbitmqctl set_permissions -p vhost1 test ".*" ".*" ".*"

rabbitmq使用
查看用戶權限:

rabbitmqctl list_user_permissions -p username 
例:rabbitmqctl list_user_permissions -p test

rabbitmq使用
刪除用戶密碼(用戶就無法登陸了):

rabbitmqctl clear_password username   
例:rabbitmqctl clear_password test

rabbitmq使用
刪除用戶 :

rabbitmqctl delete_user username 
例:rabbitmqctl delete_user test

rabbitmq使用
查看vhost權限:

rabbitmqctl list_permissions -p vhostname
例:rabbitmqctl list_permissions -p vhost1

rabbitmq使用
清除權限:

rabbitmqctl clear_permissions -p vhostname username

啓用插件:

rabbitmq-plugins enable pluginname 
例:啓用web插件:rabbitmq-plugins enable rabbitmq_management

rabbitmq使用
關閉插件:

rabbitmq-plugins disable pluginname
例:關閉web插件:rabbitmq-plugins disable rabbitmq_management

rabbitmq使用
二、集羣搭建
首先需要在host文件添加每個節點的hostname和ip
然後將其中一個節點的.erlang.cookie遠程傳輸到其它幾個節點,erlang cookie是保證不同節點可以相互通信的密鑰,集羣通信要保證每個節點的erlang cookie是一樣的
rabbitmq使用
重啓rabbitmq-server
rabbitmq使用
rabbitmq使用

集羣加入:
以node1節點爲基準,將node2節點和node3節點加入node1節點的集羣中,每個都需要四個步驟

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node2
rabbitmq start_app

rabbitmq使用

將node3節點加入只需把rabbit@node2換爲rabbit@node3
查詢集羣狀態:

rabbitmqctl cluster_status

rabbitmq使用
注意:關閉集羣的所有節點,必須保證最後關閉的節點第一個啓動,不然會報錯
剔除節點常用步驟:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

rabbitmq使用
查詢集羣狀態可以發現節點已經剔除
rabbitmq使用
rabbitmq節點類型:
內存節點(ram):將所有的隊列、 交換器、綁定關係、用戶、權限和 host 的元數據定義都存儲在內存中
磁盤節點(disc):則將這些信息存儲到磁盤中
把節點設爲內存節點類型命令:

rabbitmqctl join_cluster rabbit@desktop1 --ram

默認爲disc節點
修改節點類型:

rabbitmqctl change_cluster_node_type{disc,ram}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章