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