【基础环境】rocketmq启动脚本,修复proxy启动失败
This commit is contained in:
parent
1c1c077a8c
commit
c832bac92a
@ -3,14 +3,11 @@ setlocal enabledelayedexpansion
|
|||||||
chcp 65001 >nul
|
chcp 65001 >nul
|
||||||
title RocketMQ 5.x Quick Start (with Proxy)
|
title RocketMQ 5.x Quick Start (with Proxy)
|
||||||
|
|
||||||
:: 1. 检查 ROCKETMQ_HOME 是否存在
|
|
||||||
if "%ROCKETMQ_HOME%" == "" (
|
if "%ROCKETMQ_HOME%" == "" (
|
||||||
:: 如果未设置,尝试使用上级的上级目录作为默认值
|
set "ROCKETMQ_HOME=%~dp0.."
|
||||||
set "ROCKETMQ_HOME=%~dp0..\"
|
|
||||||
echo [INFO] ROCKETMQ_HOME is not set, using default: !ROCKETMQ_HOME!
|
echo [INFO] ROCKETMQ_HOME is not set, using default: !ROCKETMQ_HOME!
|
||||||
)
|
)
|
||||||
|
|
||||||
:: 2. 检查 mqnamesrv.cmd 是否存在
|
|
||||||
if not exist "%ROCKETMQ_HOME%\bin\mqnamesrv.cmd" (
|
if not exist "%ROCKETMQ_HOME%\bin\mqnamesrv.cmd" (
|
||||||
echo [ERROR] mqnamesrv.cmd not found in %ROCKETMQ_HOME%\bin
|
echo [ERROR] mqnamesrv.cmd not found in %ROCKETMQ_HOME%\bin
|
||||||
echo Please set correct ROCKETMQ_HOME environment variable
|
echo Please set correct ROCKETMQ_HOME environment variable
|
||||||
@ -18,7 +15,6 @@ if not exist "%ROCKETMQ_HOME%\bin\mqnamesrv.cmd" (
|
|||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
|
|
||||||
:: 3. 检查 JAVA_HOME
|
|
||||||
if "%JAVA_HOME%" == "" (
|
if "%JAVA_HOME%" == "" (
|
||||||
echo [WARN] JAVA_HOME is not set, trying to find Java automatically...
|
echo [WARN] JAVA_HOME is not set, trying to find Java automatically...
|
||||||
goto :FOUNING_JAVA
|
goto :FOUNING_JAVA
|
||||||
@ -31,7 +27,6 @@ if "%JAVA_HOME%" == "" (
|
|||||||
)
|
)
|
||||||
|
|
||||||
:FOUNING_JAVA
|
:FOUNING_JAVA
|
||||||
:: 尝试在常见位置查找Java
|
|
||||||
echo FOUNDING ===== START
|
echo FOUNDING ===== START
|
||||||
for %%d in (
|
for %%d in (
|
||||||
"%ProgramFiles%\Java\"
|
"%ProgramFiles%\Java\"
|
||||||
@ -41,7 +36,7 @@ for %%d in (
|
|||||||
"%~dp0..\..\jdk"
|
"%~dp0..\..\jdk"
|
||||||
"%~dp0..\..\java"
|
"%~dp0..\..\java"
|
||||||
) do (
|
) do (
|
||||||
echo [INFO] == %%~d
|
echo [INFO] == %%~d
|
||||||
if exist "%%~d\bin\java.exe" (
|
if exist "%%~d\bin\java.exe" (
|
||||||
set "JAVA_HOME=%%~d"
|
set "JAVA_HOME=%%~d"
|
||||||
echo [INFO] Found Java at: !JAVA_HOME!
|
echo [INFO] Found Java at: !JAVA_HOME!
|
||||||
@ -70,43 +65,61 @@ if exist "%ROCKETMQ_HOME%\sbin\store\" (
|
|||||||
set "INITIAL=TRUE"
|
set "INITIAL=TRUE"
|
||||||
)
|
)
|
||||||
|
|
||||||
:: 4. 启动 NameServer
|
|
||||||
start "RocketMQ NameServer" cmd /k "%ROCKETMQ_HOME%\bin\mqnamesrv.cmd"
|
start "RocketMQ NameServer" cmd /k "%ROCKETMQ_HOME%\bin\mqnamesrv.cmd"
|
||||||
|
|
||||||
:: 等待 NameServer 启动
|
|
||||||
timeout /t 5 /nobreak >nul
|
|
||||||
|
|
||||||
:: 5. 启动 Broker(如果需要直接访问 Broker,可单独启动)
|
|
||||||
:: start "RocketMQ Broker" cmd /k "%ROCKETMQ_HOME%\bin\mqbroker.cmd" -n localhost:9876
|
|
||||||
:: start "RocketMQ Broker" cmd /k "%ROCKETMQ_HOME%\bin\mqbroker.cmd" -n localhost:9876 autoCreateTopicEnable=true
|
|
||||||
:: start "RocketMQ Broker" cmd /k "%ROCKETMQ_HOME%\bin\mqbroker.cmd" -n localhost:9876 -c ../conf/broker.conf
|
|
||||||
start "RocketMQ Broker" cmd /k "%ROCKETMQ_HOME%\bin\mqbroker.cmd" -c ../conf/broker-localhost.conf
|
|
||||||
|
|
||||||
:: 等待 Broker 启动
|
|
||||||
timeout /t 10 /nobreak >nul
|
|
||||||
|
|
||||||
:: 6. 启动 Proxy(RocketMQ 5.x 推荐方式)
|
|
||||||
start "RocketMQ Proxy" cmd /k "%ROCKETMQ_HOME%\bin\mqproxy.cmd" -n localhost:9876
|
|
||||||
|
|
||||||
:: 等待 Proxy 启动
|
|
||||||
timeout /t 2 /nobreak >nul
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
start "RocketMQ Broker" cmd /k "%ROCKETMQ_HOME%\bin\mqbroker.cmd" -c ../conf/broker-localhost.conf
|
||||||
|
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
set MAX_RETRY=5
|
||||||
|
set RETRY_COUNT=0
|
||||||
|
|
||||||
|
:START_PROXY
|
||||||
|
set /a RETRY_COUNT+=1
|
||||||
|
start "RocketMQ Proxy" cmd /k "%ROCKETMQ_HOME%\bin\mqproxy.cmd" -n localhost:9876
|
||||||
|
|
||||||
|
echo [INFO] Checking if the proxy has started successfully ..
|
||||||
|
timeout /t 5 /nobreak >nul
|
||||||
|
|
||||||
|
:CHECK_PORT
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
netstat -ano | findstr ":8081" | findstr "LISTENING" >nul
|
||||||
|
if %ERRORLEVEL% equ 0 (
|
||||||
|
echo [INFO] Proxy started successfully, port 8081 is listening.
|
||||||
|
goto :START_DASHBOARD
|
||||||
|
) else (
|
||||||
|
echo [WARN] Proxy Startup failed, port 8081 is not listening [attempted !RETRY_COUNT!/!MAX_RETRY!]
|
||||||
|
if !RETRY_COUNT! lss !MAX_RETRY! (
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
taskkill /FI "WINDOWTITLE eq RocketMQ Proxy" /F >nul 2>&1
|
||||||
|
goto :START_PROXY
|
||||||
|
) else (
|
||||||
|
echo [ERROR] Proxy Startup failed, maximum retry attempts have been reached !MAX_RETRY!
|
||||||
|
goto :START_DASHBOARD
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
:START_DASHBOARD
|
||||||
:: 7. 启动 Dashboard(可选)
|
:: 7. 启动 Dashboard(可选)
|
||||||
if exist "%ROCKETMQ_HOME%\bin\rocketmq-dashboard.jar" (
|
if exist "%ROCKETMQ_HOME%\bin\rocketmq-dashboard.jar" (
|
||||||
start "RocketMQ Dashboard" cmd /k "%JAVA_HOME%\bin\java -jar -Dserver.port=8088 %ROCKETMQ_HOME%\bin\rocketmq-dashboard.jar"
|
start "RocketMQ Dashboard" cmd /k "%JAVA_HOME%\bin\java -jar -Dserver.port=8088 %ROCKETMQ_HOME%\bin\rocketmq-dashboard.jar"
|
||||||
)
|
)
|
||||||
|
|
||||||
echo RocketMQ 5.x 服务已启动:
|
:: =============================================
|
||||||
echo - NameServer (端口: 9876)
|
:: Status Display
|
||||||
echo - Broker (端口: 10911)
|
:: =============================================
|
||||||
echo - Proxy (端口: 8081)
|
echo.
|
||||||
echo - Dashboard (端口: 8080)
|
echo ========================================
|
||||||
|
echo RocketMQ Services Successfully Started
|
||||||
|
echo ========================================
|
||||||
|
echo - NameServer (Port: 9876)
|
||||||
|
echo - Broker (Port: 10911)
|
||||||
|
echo - Proxy (Port: 8081)
|
||||||
|
echo - Dashboard (Port: 8080)
|
||||||
|
echo ========================================
|
||||||
|
echo.
|
||||||
|
|
||||||
:: if "%INITIAL%"="" (
|
|
||||||
:: timeout /t 2 /nobreak >nul
|
|
||||||
:: echo RocketMQ 数据初始化...
|
|
||||||
:: start "Rocket Create Topic" "initial-topic.bat"
|
|
||||||
:: start "Rocket Create Consumer" "initial-consumer.bat"
|
|
||||||
:: )
|
|
||||||
pause
|
pause
|
||||||
endlocal
|
endlocal
|
Loading…
x
Reference in New Issue
Block a user