消息隊列Rabbitmq


1. 啟動

rabbitmq-server &

2. 隊列重置(清空隊列、用戶等)

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl stop

3. 關閉

rabbitmqctl stop

4. 列舉所有用戶

rabbitmqctl list_users

5. 列舉所有隊列

rabbitmqctl list_queues

6. 添加用戶

rabbitmqctl add_user user_name user_passwd

7. 設置用戶角色為管理員

rabbitmqctl set_user_tags user_name administrator

8. 權限設置

rabbitmqctl set_permissions -p / user_name ".*" ".*" ".*"
6,7,8三步操作舉例(添加用戶admin)
sudo rabbitmqctl add_user admin admin
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

9. 查看狀態

rabbitmqctl status

10.安裝 RabbitMQWeb管理插件

rabbitmq-plugins enable rabbitmq_management  
可以利用http://ip:15672查看界面狀態

11.疑難雜症

11.1 症狀:啟動后出現
Error: unable to connect to node 'rabbit@idcp-mq010177080030': nodedown
Error in log handler
====================
Event: {error,<0.9.0>,
              {<0.451.0>,
               "** Connection attempt from disallowed node ~w ** ~n",
               ['rabbitmq-cli-3355@idcp-mq010177080030']}}
Error: function_clause

破解

重啟服務

sudo rabbitmq-server restart

 

11.2 無法正常啟動rabbitmq-server

Error: unable to connect to node rabbit@nu5i12294: nodedown
ERROR: epmd error for host nu5i12294: address (cannot connect to host/port

解決:

http://yodi.polatic.me/solve-rabbitmq-error-epmd-error-for-host-ubuntu-address-cannot-connect-to-hostport/

判斷hostname 與/host/hosts里面的ip和主機名一致

例如,ip為10.10.10.10

檢查hostname:

$hostname
host_jihite

檢查  /etc/hosts

10.10.10.10  host_jihite

12. RabbitMQ 集群與高可用配置

http://88250.b3log.org/rabbitmq-clustering-ha

13. Rabbitmq的mnesia數據地址

1. 停止消息隊列
sudo rabbitmqctl stop 
 
2. 創建mnesia目錄,修改用戶屬性
mkdir mnesia
sudo chown rabbitmq:rabbitmq  /home/test/mnesia
 
3. 修改默認MNESIA_BASE地址
vim /usr/lib/rabbitmq/bin/rabbitmq-defaults
MNESIA_BASE=${SYS_PREFIX}/var/lib/rabbitmq/mnesia
改為  MNESIA_BASE=${SYS_PREFIX}/home/test/mnesia
 
4. 啟動消息隊列
sudo rabbitmq-server &
 
5. 建立admin用戶
sudo rabbitmqctl add_user admin admin
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"


免責聲明!

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



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