1. 程式人生 > >RabbitMQ初學之安裝與常見問題記錄

RabbitMQ初學之安裝與常見問題記錄

安裝erl9.0

安裝rabbitmq server

環境變數

ERLANG_HOME,RABBITMQ_HOME,這兩個值為軟體的安裝目錄,Path裡新增兩個bin,成功後命令行輸入erl,如果出現Eshell V6.1類似字樣,說明成功,如果命令無法識別,重啟試試。

Web管理介面

Rabbitmq有一個web管理介面:http://localhost:15672,賬號密碼都是guest,未配置的客戶端預設使用該賬號憑據,但僅限於訪問本地,如果是網路訪問則需要另外配置,新增一個新賬號,比如admin,並賦予管理佇列的許可權。

常用命令

rabbitmq-plugins
enable rabbitmq_management 開啟外掛 rabbitmq-service remove 移除服務 rabbitmq-service install 安裝服務 rabbitmq-service start 或者 net start rabbitmq 啟動服務 rabbitmq-service stop 或者 net stop rabbitmq 停止服務 rabbitmqctl status 檢視服務狀態 rabbitmq-server restart 重啟服務

錯誤記錄

執行客戶端程式碼時的錯誤記錄

連線被拒絕

C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4
.3\sbin>rabbitmqctl status Status of node [email protected] ... Error: unable to connect to node [email protected]: nodedown DIAGNOSTICS attempted to contact: [[email protected]] [email protected]: * connected to epmd (port 4369) on TPAJ05421843 * epmd reports: node 'rabbit' not
running at all other nodes on TPAJ05421843: ['RabbitMQ'] * suggestion: start the node current node details: - node name: '[email protected]' - home dir: H:\ - cookie hash: PD4QQCYrf0TME9vIko3Xuw==

或者java端報錯:connection refused

嘗試過以下多種方法:
1、重新安裝服務
Run RabbitMQ sbin command prompt as administrator.
rabbitmq-service remove
rabbitmq-service install
2、hosts檔案中localhost與127.0.0.1對映

127.0.0.1      localhost

3、.erlang.cookie這個檔案存在兩個地方,user/admin/.erlang.cookie以及windows/.erlang.cookie,這兩個檔案內容要保持一致相同
4、如果公司網路有埠限制,防火牆只允許部分埠的話,比如說15672這個埠用不了,那麼只有去修改rabbitmq config配置檔案,預設配置檔案在appdata/roaming/rabbitmq資料夾下,如果沒有的話,手動建立,如果有的話預設內容為[].;複製rabbitmq.config.example檔案中內容,其中有如下內容

%% {tcp_listeners,[5672]},

去掉listeners埠號左邊兩個百分號以及後邊的逗號,這是erlang語法。
修改配置檔案後,需要做以下幾步方能使配置檔案生效(操作需要在管理員許可權下進行):
第一,停止stop服務
第二,安裝install服務
第三,開啟start服務
5、http://www.rabbitmq.com/troubleshooting.html 官方網站的問題記錄
6、注意客戶端程式碼中setHost(“”)的值是否指向正確,如果是在本地安裝的rabbitmq服務,直接localhost即可
6、最終正確的適應我的解決方案:是改了計算機名,改短一點,http://blog.csdn.net/walle_panpan/article/details/53009222,當時的現狀是開啟服務對話方塊,手動啟動rabbitmq,啟動雖然成功,但過一會再點選檢視狀態還是停止狀態,也就是無法正常啟動rabbitmq服務,命令列會報這種錯誤,Applying plugin configuration to [email protected](計算機名) failed ,重新改過計算機名後要重啟電腦,在此之前,最好解除安裝乾淨當前的rabbitmq,重啟後重新安裝。

授權失敗

Exception in thread "main" com.rabbitmq.client.AuthenticationFailureException

connection reset

解決方法就是在rabbitmq的web管理端新增新使用者,注意不能使用預設的guest使用者,並且給這個新使用者賦予管理佇列的許可權;然後在java程式碼中新增

    factory.setUsername("admin");
    factory.setPassword("admin");

版本不對

unsupportedClassVersionError: unsupported major.minor version 52.0