1. 程式人生 > >Windows下安裝RabbitMQ報錯:unable to perform an operation on node時的解決方案

Windows下安裝RabbitMQ報錯:unable to perform an operation on node時的解決方案

本文轉載自http://blog.csdn.net/seven_coder/article/details/79091934

找了很久才找到原博主的這個解決方案。故轉載到自己部落格裡,以待以後可以查看回憶。

前言

最近在Windows server 2012 R2的百度雲伺服器上安裝rabbitmq時,在執行rabbitmqctl status命令時,一直報錯,開始時出現的如下錯誤:

Error: unable to connect to node [email protected]: nodedown

erlang的cookie問題排解

Google、百度了一通後,大多數都說的是cookie的問題,需要保持C:\Windows下的.erlang.cookie和C:\Users\Administrator下的.erlang.cookie一致,然後我搜索了一下,總共在三個地方找到了這個檔案,如下圖:

然後,我用其中的一個檔案中的內容完全替換掉其他兩個,這樣使三個檔案保持一致,然後開啟下面這個視窗:

新的錯誤: unable to perform an operation on node

再次執行rabbitmqctl status命令,此時報了另一個錯誤:

不解,cookie也設定相同了,環境變數也新增正確了,為什麼還是報錯,繼續尋找問題。

登入賬號許可權問題

後來看到一個網友說可能是登入賬號的問題,我是用administrator賬號登入伺服器並安裝rabbitmq的,rabbitmq也自動在C:\user\administrator下建立了一個.erlang.cookie檔案,但是RabbitMQ服務啟動的時候,執行者是local system account,如下圖所示:

此時,我想到將RabbitMQ服務的啟動賬號改成administrator,果然,更改後重啟服務,再次執行rabbitmqctl status,成功!具體操作如下圖所示:

接下來呢,就是在瀏覽器中檢視並設定新的管理員賬號,來管理訊息佇列,具體的操作如下圖,同時也可以參考我的另一篇部落格中的詳細操作。

為新賬戶設定管理員許可權

這裡需要說一下的是,在給新建立的賬號指定管理員許可權時,按照之前的命令:rabbitmqctl.bat set_permissions -p / cmmooc_zhaopin ".*" ".*" ".*",執行後,並沒有為其賦予administrator的許可權,如下圖所示:

這裡,需要執行這個命令:rabbitmqctl set_user_tags cmmooc_zhaopin administrator,此時才真正設定成管理員許可權:

最後,就可以使用新建立的賬號來登入rabbitmq網頁管理介面了