[rabbitmq-discuss] Rabbitmq ctl script fail

abdelrahman ahussein.abdelrahman at gmail.com
Wed Sep 15 14:43:59 BST 2010


Hello all,
i am running rabbitmq-server version 1.7.1 and i needed to configure
clusters with nodenames related to ip addresses so i am using -name
instead of -sname in both rabbitmq-server and rabbitmqctl scripts like
the follwoing:
rabbitmq-server script:
exec erl \
    ${RABBITMQ_EBIN_PATH} \
    ${RABBITMQ_START_RABBIT} \
    -sname ${RABBITMQ_NODENAME} \
    -boot ${RABBITMQ_BOOT_FILE} \
    ${RABBITMQ_CONFIG_ARG} \
    +W w \
    ${RABBITMQ_SERVER_ERL_ARGS} \
    -rabbit tcp_listeners '[{"'${RABBITMQ_NODE_IP_ADDRESS}'", '$
{RABBITMQ_NODE_PORT}'}]' \
    -sasl errlog_type error \
    -kernel error_logger '{file,"'${RABBITMQ_LOGS}'"}' \
    -sasl sasl_error_logger '{file,"'${RABBITMQ_SASL_LOGS}'"}' \
    -os_mon start_cpu_sup true \
    -os_mon start_disksup false \
    -os_mon start_memsup false \
    -mnesia dir "\"${RABBITMQ_MNESIA_DIR}\"" \
    ${RABBITMQ_CLUSTER_CONFIG_OPTION} \
    ${RABBITMQ_SERVER_START_ARGS} \
    "$@"

my rabbitmqctl script is:
NODENAME=rabbit

. `dirname $0`/rabbitmq-env

[ "x" = "x$RABBITMQ_NODENAME" ] && RABBITMQ_NODENAME=${NODENAME}
[ "x" = "x$RABBITMQ_CTL_ERL_ARGS" ] && RABBITMQ_CTL_ERL_ARGS=$
{CTL_ERL_ARGS}

exec erl \
    -pa "${RABBITMQ_HOME}/ebin" \
    -noinput \
    -hidden \
    ${RABBITMQ_CTL_ERL_ARGS} \
    -sname rabbitmqctl$$ \
    -s rabbit_control \
    -nodename $RABBITMQ_NODENAME \
    -extra "$@"

my rabbitmq.conf file is:
RABBITMQ_NODE_IP_ADDRESS=0.0.0.0
RABBITMQ_NODE_PORT=5672
RABBITMQ_NODENAME=rabbit at 192.168.20.10

the problem is when starting the server using the rabbitmq-server
script, it starts correctly, but when trying to runt he rabbitmqctl
script it fails with the error:
{error_logger,{{2010,9,15},{13,24,20}},"Can't set long node name!
\nPlease check your configuration\n",[]}
{error_logger,{{2010,9,15},{13,24,20}},crash_report,[[{initial_call,
{net_kernel,init,['Argument__1']}},{pid,<0.21.0>},{registered_name,[]},
{error_info,{exit,{error,badarg},[{gen_server,init_it,6},
{proc_lib,init_p_do_apply,3}]}},{ancestors,
[net_sup,kernel_sup,<0.9.0>]},{messages,[]},{links,[<0.18.0>]},
{dictionary,[{longnames,true}]},{trap_exit,true},{status,running},
{heap_size,987},{stack_size,24},{reductions,835}],[]]}
{error_logger,{{2010,9,15},{13,24,20}},supervisor_report,[{supervisor,
{local,net_sup}},{errorContext,start_error},{reason,
{'EXIT',nodistribution}},{offender,[{pid,undefined},{name,net_kernel},
{mfa,{net_kernel,start_link,[[rabbitmqctl20008,longnames]]}},
{restart_type,permanent},{shutdown,2000},{child_type,worker}]}]}
{error_logger,{{2010,9,15},{13,24,20}},supervisor_report,[{supervisor,
{local,kernel_sup}},{errorContext,start_error},{reason,shutdown},
{offender,[{pid,undefined},{name,net_sup},{mfa,
{erl_distribution,start_link,[]}},{restart_type,permanent},
{shutdown,infinity},{child_type,supervisor}]}]}
{error_logger,{{2010,9,15},{13,24,20}},std_info,[{application,kernel},
{exited,{shutdown,{kernel,start,[normal,[]]}}},{type,permanent}]}
{"Kernel pid
terminated",application_controller,"{application_start_failure,kernel,
{shutdown,{kernel,start,[normal,[]]}}}"}

Crash dump was written to: erl_crash.dump
Kernel pid terminated (application_controller)
({application_start_failure,kernel,{shutdown,{kernel,start,[normal,
[]]}}})

i cannot know why it cannot set long node name since it is already
started with the same long name config ? any ideas ?

Thanks.


More information about the rabbitmq-discuss mailing list