[rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not.
Daniel Lewis
DanielLewis at Ticketmaster.com
Thu Nov 1 18:10:48 GMT 2012
Hi Simon,
Here is the output from running rabbitmq-service.bat install, after removing the @echo off.
(One additional note, I just done the same steps to install RabbitMQ on a virtual machine running regular XP, and it gives the same results that I have described for the XP embedded install, so maybe this is common across XP versions.)
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rabbitmq-service.bat install
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM The contents of this file are subje
ct to the Mozilla Public License
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM Version 1.1 (the "License"); you ma
y not use this file except in
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM compliance with the License. You ma
y obtain a copy of the License
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM at http://www.mozilla.org/MPL/
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM Software distributed under the Lice
nse is distributed on an "AS IS"
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM basis, WITHOUT WARRANTY OF ANY KIND
, either express or implied. See
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM the License for the specific langua
ge governing rights and
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM limitations under the License.
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM The Original Code is RabbitMQ.
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM The Initial Developer of the Origin
al Code is VMware, Inc.
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM Copyright (c) 2007-2012 VMware, Inc
. All rights reserved.
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>REM
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>setlocal
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem Preserve values that might contain e
xclamation marks before
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem enabling delayed expansion
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set TN0=rabbitmq-service
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set TDP0=C:\PROGRA~1\TICKET~1\TMDS\rabbi
tmq\sbin\
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set P1=install
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set STAR=install
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>setlocal enabledelayedexpansion
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_SERVICENAME!" == "" (set R
ABBITMQ_SERVICENAME=RabbitMQ )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_BASE!" == "" (set RABBITMQ
_BASE=!APPDATA!\!RABBITMQ_SERVICENAME! )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!COMPUTERNAME!" == "" (set COMPUTERN
AME=localhost )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_NODENAME!" == "" (set RABB
ITMQ_NODENAME=rabbit@!COMPUTERNAME! )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_NODE_IP_ADDRESS!" == "" (i
f not "!RABBITMQ_NODE_PORT!" == "" (set RABBITMQ_NODE_IP_ADDRESS=auto ) ) else
(if "!RABBITMQ_NODE_PORT!" == "" (set RABBITMQ_NODE_PORT=5672 ) )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!ERLANG_SERVICE_MANAGER_PATH!" == ""
(
if not exist "!ERLANG_HOME!\bin\erl.exe" (
echo.
echo ******************************
echo ERLANG_HOME not set correctly.
echo ******************************
echo.
echo Please either set ERLANG_HOME to point to your Erlang installation or plac
e the
echo RabbitMQ server distribution in the Erlang lib folder.
echo.
exit /B
)
for /F "delims=" %i in ('dir /ad/b "!ERLANG_HOME!"') do if exist "!ERLANG_HOME!
\%i\bin\erlsrv.exe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\%i\bin )
)
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\bin\bin\erlsrv.e
xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\bin\bin )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\doc\bin\erlsrv.e
xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\doc\bin )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\erts-5.9.2\bin\e
rlsrv.exe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\erts-5.9.2\bin )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\lib\bin\erlsrv.e
xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\lib\bin )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\releases\bin\erl
srv.exe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\releases\bin )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!ERLANG_HOME!\usr\bin\erlsrv.e
xe" (set ERLANG_SERVICE_MANAGER_PATH=!ERLANG_HOME!\usr\bin )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set CONSOLE_FLAG=
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set CONSOLE_LOG_VALID=
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>for %i in (new reuse) do if "%i" == "!RA
BBITMQ_CONSOLE_LOG!" set CONSOLE_LOG_VALID=TRUE
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "new" == "!RABBITMQ_CONSOLE_LOG!" set
CONSOLE_LOG_VALID=TRUE
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "reuse" == "!RABBITMQ_CONSOLE_LOG!" s
et CONSOLE_LOG_VALID=TRUE
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!CONSOLE_LOG_VALID!" == "TRUE" (set
CONSOLE_FLAG=-debugtype !RABBITMQ_CONSOLE_LOG! )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem *** End of configuration ***
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if not exist "!ERLANG_SERVICE_MANAGER_PA
TH!\erlsrv.exe" (
echo.
echo **********************************************
echo ERLANG_SERVICE_MANAGER_PATH not set correctly.
echo **********************************************
echo.
echo "!ERLANG_SERVICE_MANAGER_PATH!\erlsrv.exe" not found
echo Please set ERLANG_SERVICE_MANAGER_PATH to the folder containing "erlsrv.ex
e".
echo.
exit /B 1
)
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_MNESIA_BASE!" == "" (set R
ABBITMQ_MNESIA_BASE=!RABBITMQ_BASE!/db )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_LOG_BASE!" == "" (set RABB
ITMQ_LOG_BASE=!RABBITMQ_BASE!/log )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem We save the previous logs in their r
espective backup
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem Log management (rotation, filtering
based on size...) is left as an exercise for the user.
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set LOGS=!RABBITMQ_LOG_BASE!\!RABBITMQ_N
ODENAME!.log
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set SASL_LOGS=!RABBITMQ_LOG_BASE!\!RABBI
TMQ_NODENAME!-sasl.log
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>rem End of log management
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_MNESIA_DIR!" == "" (set RA
BBITMQ_MNESIA_DIR=!RABBITMQ_MNESIA_BASE!/!RABBITMQ_NODENAME!-mnesia )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_PLUGINS_EXPAND_DIR!" == ""
(set RABBITMQ_PLUGINS_EXPAND_DIR=!RABBITMQ_MNESIA_BASE!/!RABBITMQ_NODENAME!-plu
gins-expand )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!P1!" == "install" goto INSTALL_SERV
ICE
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if not exist "!RABBITMQ_BASE!" (echo Cre
ating base directory !RABBITMQ_BASE! & md "!RABBITMQ_BASE!" )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" l
ist !RABBITMQ_SERVICENAME! 2>NUL 1>NUL
The system cannot find the file specified.
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if errorlevel 1 ("!ERLANG_SERVICE_MANAGE
R_PATH!\erlsrv" add !RABBITMQ_SERVICENAME! -internalservicename !RABBITMQ_SERVIC
ENAME! ) else (echo !RABBITMQ_SERVICENAME! service is already present - only up
dating service parameters )
c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erlsrv: Service RabbitMQ add
ed to system.
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_ENABLED_PLUGINS_FILE!" ==
"" (set RABBITMQ_ENABLED_PLUGINS_FILE=!RABBITMQ_BASE!\enabled_plugins )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_PLUGINS_DIR!" == "" (set R
ABBITMQ_PLUGINS_DIR=!TDP0!..\plugins )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_EBIN_ROOT=!TDP0!..\ebin
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_HOME!\bin\erl.exe" -pa "!RABBIT
MQ_EBIN_ROOT!" -noinput -hidden -s rabbit_prelaunch -extra "!RABBITMQ_ENABLED_PL
UGINS_FILE:\=/!" "!RABBITMQ_PLUGINS_DIR:\=/!" "!RABBITMQ_PLUGINS_E
XPAND_DIR:\=/!" ""
Activating RabbitMQ plugins ...
0 plugins activated:
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_BOOT_FILE=!RABBITMQ_PLUGINS
_EXPAND_DIR!\rabbit
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if ERRORLEVEL 1 (exit /B 1 )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_EBIN_PATH=
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if "!RABBITMQ_CONFIG_FILE!" == "" (set R
ABBITMQ_CONFIG_FILE=!RABBITMQ_BASE!\rabbitmq )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if exist "!RABBITMQ_CONFIG_FILE!.config"
(set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE!" ) else (set RABBITMQ
_CONFIG_ARG= )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set RABBITMQ_LISTEN_ARG=
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>if not "!RABBITMQ_NODE_IP_ADDRESS!" == "
" (if not "!RABBITMQ_NODE_PORT!" == "" (set RABBITMQ_LISTEN_ARG=-rabbit tcp_list
eners "[{\"!RABBITMQ_NODE_IP_ADDRESS!\", !RABBITMQ_NODE_PORT!}]" ) )
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set ERLANG_SERVICE_ARGUMENTS= !RABBITMQ_
EBIN_PATH! -boot "!RABBITMQ_BOOT_FILE!" !RABBITMQ_CONFIG_ARG! +W w +A30 +P 10485
76 -kernel inet_default_connect_options "[{nodelay,true}]" !RABBITMQ_LISTEN_ARG!
!RABBITMQ_SERVER_ERL_ARGS! -sasl errlog_type error -sasl sasl_error_logger fals
e -rabbit error_logger {file,\""!LOGS:\=/!"\"} -rabbit sasl_error_logger {file,\
""!SASL_LOGS:\=/!"\"} -os_mon start_cpu_sup false -os_mon start_disksup false -o
s_mon start_memsup false -mnesia dir \""!RABBITMQ_MNESIA_DIR:\=/!"\" !RABBITMQ_S
ERVER_START_ARGS! !STAR!
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SER
VICE_ARGUMENTS:\=\\!
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>set ERLANG_SERVICE_ARGUMENTS=!ERLANG_SER
VICE_ARGUMENTS:"=\"!
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>"!ERLANG_SERVICE_MANAGER_PATH!\erlsrv" s
et !RABBITMQ_SERVICENAME! -machine "!ERLANG_SERVICE_MANAGER_PATH!\erl.exe" -env
ERL_CRASH_DUMP="!RABBITMQ_BASE:\=/!/erl_crash.dump" -workdir "!RABBITMQ_BASE!" -
stopaction "rabbit:stop_and_halt()." -sname !RABBITMQ_NODENAME! !CONSOLE_FLAG! -
comment "A robust and scalable messaging broker" -args "!ERLANG_SERVICE_ARGUMENT
S!" 1>NUL
The system cannot find the file specified.
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>goto END
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>endlocal
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>endlocal
C:\PROGRA~1\TICKET~1\TMDS\rabbitmq\sbin>
Best Regards,
Daniel
-----Original Message-----
From: Simon MacMullen [mailto:simon at rabbitmq.com]
Sent: Thursday, November 01, 2012 10:52 AM
To: Daniel Lewis
Cc: Discussions about RabbitMQ
Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not.
Gosh, I thought you must have done something strange. But no.
So my suspicion is obviously on WinXP Embedded. Unfortunately I'd never even heard of it before, and I certainly don't have a copy lying around.
My best guess is that something is going badly wrong with the batch interpreter and "rabbitmq-service.bat install". If you can run "rabbitmq-service.bat remove", (and make sure that worked), remove the "@echo off" from the start, run "rabbitmq-service.bat install" and send me the output I can peer at it. But I wouldn't want to promise anything.
Cheers, Simon
On 01/11/12 17:32, Daniel Lewis wrote:
> I installed erlang like this:
> otp_win32_R15B02.exe /S /D={my directory name}
>
> Then I copied the RabbitMQ entire directory structure over, set up the
> environment variables for ERLANG_HOME and RABBITMQ_HOME, and ran
> %RABBITMQ_HOME%/sbin/rabbitmq-service.bat install
>
> Best Regards,
> Daniel
>
> -----Original Message-----
> From: Simon MacMullen [mailto:simon at rabbitmq.com]
> Sent: Thursday, November 01, 2012 10:25 AM
> To: Discussions about RabbitMQ
> Cc: Daniel Lewis
> Subject: Re: [rabbitmq-discuss] WinXP Embedded - Interactive Server works, Service does not.
>
> The output of "rabbitmq-service.bat list" looks very odd.
>
> One problem is that the sname is specified as "RabbitMQ", we normally use "rabbit@(hostname)". That explains why rabbitmqctl can't connect.
> But it also looks like the "args" field is empty; this normally contains a complete command line for starting RabbitMQ. So I think you're just starting an Erlang VM.
>
> How did you install the service?
>
> Cheers, Simon
>
> On 01/11/12 16:24, Daniel Lewis wrote:
>> Hi, I am having some issues getting RabbitMQ to run as an service on
>> Windows XP Embedded.
>>
>> It will start epmd.exe, erl.exe, and erlsrv.exe, but there are no log
>> files created.
>>
>> rabbitmqctl.bat status returns:
>>
>> Status of node 'rabbit at DANIEL-WYSE' ...
>>
>> Error: unable to connect to node 'rabbit at DANIEL-WYSE' : nodedown
>>
>> DIAGNOSTICS
>>
>> ===========
>>
>> nodes in question: ['rabbit at DANIEL-WYSE']
>>
>> hosts, their running nodes and ports:
>>
>> - DANIEL-WYSE: [{'RabbitMQ',1898},{rabbitmqctl2558445,1904}]
>>
>> current node details:
>>
>> - node name: 'rabbitmqctl2558445 at DANIEL-WYSE'
>>
>> - home dir: C:Docements and Settings\Administrator
>>
>> - cookie hash: ak3qKWQRwDfzEGk9nwYiVQ==
>>
>> All this works great when I start an interactive Server using
>> rabbitmq-server.bat (however when I use the -detach option, it fails
>> exactly like rabbitmq-service.bat)
>>
>> The environment variables appear to be set identically in both the
>> service and the server.
>>
>> rabbitmq-service.bat list returns:
>>
>> Service name: RabbitMQ
>>
>> StopAction:
>>
>> OnFail: ignore
>>
>> Machine: c:\progra~1\ticketmaster\tmds\erlang\erts-5.9.2\bin\erl.exe
>>
>> WorkDir:
>>
>> SName: RabbitMQ
>>
>> Priority: default
>>
>> DebugType: none
>>
>> Args:
>>
>> InternalServiceName: RabbitMQ
>>
>> Comment:
>>
>> Env:
>>
>> I have disabled the windows firewall (this probably wasn't the issue
>> anyway because I had it configured so that the server worked fine).
>>
>> Any suggestions what I should try next?
>>
>> Thanks
>>
>>
>>
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>
>
>
> --
> Simon MacMullen
> RabbitMQ, VMware
>
--
Simon MacMullen
RabbitMQ, VMware
More information about the rabbitmq-discuss
mailing list