執行 RabbitMQ時出錯 init terminating in do_boot ({cannot get bootfile,start_clean.boot})

海乐学习發表於2024-06-27

今天 在 64位 的 Windows Server 2016 安裝 RibbitMQ 時,遇到這個問題

執行 RabbitMQ時 報錯

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.9\sbin>rabbitmq-plugins.bat enable rabbitmq_management
init terminating in do_boot ({cannot get bootfile,start_clean.boot})

Crash dump is being written to: erl_crash.dump...done
子目錄或檔案 terminating 已經存在。
處理: terminating 時出錯。
子目錄或檔案 in 已經存在。
處理: in 時出錯。
子目錄或檔案 do_boot,{'cannot get bootfile','start_clean.boot'}}-mnesia 已經存在。
處理: do_boot,{'cannot get bootfile','start_clean.boot'}}-mnesia 時出錯。
{"init terminating in do_boot",{'cannot get bootfile','start_clean.boot'}}
init terminating in do_boot ({cannot get bootfile,start_clean.boot})

懷疑是 Windows Server 2016 對 C盤訪問許可權問題 (網上也有說是 安裝目錄中不能有 空格)

解決方案,親測好用

第一步

把 原安裝在C盤的 Erlang 和 RabbitMQ Server 都卸了,並刪除 安裝目錄,重啟電腦

第二步

將 Erlang 安裝在 D盤 根目錄下 如:D:\erl-23.1

將 RabbitMQ Server 安裝在 D盤 根目錄下 如:D:\RabbitMQ Server

第三步 配置環境變數

ERLANG_HOME 為 D:\erl-23.1\erts-11.1

RABBITMQ_SERVER 為 D:\RabbitMQ Server\rabbitmq_server-3.7.9

Path 加入兩個變數

%ERLANG_HOME%\bin

%RABBITMQ_SERVER%\sbin

若是其它版本的windows 的 Path 在一行配置的,需要在注意 與上一個變數要用 ; 號 隔開

執行 cmd 進入 D:\RabbitMQ Server\rabbitmq_server-3.7.9\sbin 目錄

執行 rabbitmq-plugins.bat enable rabbitmq_management

出現 started 3 plugins 字樣 說明 rabbitMQ 啟動成功

第四步 驗證rabbitmq是否安裝成功
輸入 以下命令

rabbitmqctl status

在瀏覽器輸入地址:http://localhost:15672,輸入預設賬號:guest 密碼:guest,就能進入RabbitMQ介面了。

登陸後,進入主頁

第五步 重新啟動 RabbitMQ

如果不小心把 cmd.exe 給關閉了, RabbitMQ 自然也就退出執行了

輸入命令: cd rabbitMQ的sbin路徑,進入sbin目錄

輸入命令:rabbitmq-server.bat 啟動RabbitMQ服務

相關文章