Error on running server: no configuration schema found

392 views
Skip to first unread message

Kathy Lee

unread,
Dec 8, 2020, 11:53:49 AM12/8/20
to rabbitmq-users
Does anyone have any experience with this error when booting up RabbitMQ server? 
+ exec erl -pa '' -noinput -s rabbit boot -boot start_sasl +W w +K true +A 1024 +MBas ageffcbf +MHas ageffcbf +MBlmbcs 512 +MHlmbcs 512 +MMmcs 30 +P 1048576 +t 5000000 +stbt db +zdbbl 128000 +B i -lager crash_log false -lager handlers '[]' Configuring logger redirection 00:19:05.341 [error] No configuration schema found BOOT FAILED 00:19:05.349 [error] 00:19:05.349 [error] BOOT FAILED 00:19:05.349 [error] =========== 00:19:05.349 [error] Error during startup: {error,no_configuration_schema_found} =========== Error during startup: {error,no_configuration_schema_found} 00:19:05.349 [error] 00:19:06.351 [error] Supervisor rabbit_prelaunch_sup had child prelaunch started with rabbit_prelaunch:run_prelaunch_first_phase() at undefined exit with reason no_configuration_schema_found in context start_error 00:19:06.351 [error] CRASH REPORT Process <0.157.0> with 0 neighbours exited with reason: {{shutdown,{failed_to_start_child,prelaunch,no_configuration_schema_found}},{rabbit_prelaunch_app,start,[normal,[]]}} in application_master:init/4 line 138 {"Kernel pid terminated",application_controller,"{application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,no_configuration_schema_found}},{rabbit_prelaunch_app,start,[normal,[]]}}}"} Kernel pid terminated (application_controller) ({application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,no_configuration_schema_found}},{rabbit_prelaunch_app,start,[n Crash dump is being written to: erl_crash.dump...done  

The rabbitmq.config file is there - we have placed it in a non-standard location but even when we put it in /etc/rabbitmq we are getting this error.

Any ideas? Thanks!
Kathy 

Joe Marty

unread,
Dec 8, 2020, 1:04:55 PM12/8/20
to rabbitmq-users
Maybe this was just a typo in your question, but it looks like the standard filename is rabbitmq.conf (not .config).  Have you tried that?

Kathy Lee

unread,
Dec 8, 2020, 1:09:53 PM12/8/20
to rabbitmq-users
Yes, sorry that was a typo!
our file is rabbitmq.conf with these contents: 

## Cluster formation. See https://www.rabbitmq.com/cluster-formation.html to learn more. 
cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s 
cluster_formation.k8s.host = kubernetes.default.svc.cluster.local 
## Should RabbitMQ node name be computed from the pod's hostname or IP address? 
## IP addresses are not stable, so using [stable] hostnames is recommended when possible. 
## Set to "hostname" to use pod hostnames. 
## When this value is changed, so should the variable used to set the RABBITMQ_NODENAME 
## environment variable. 
cluster_formation.k8s.address_type = hostname 
 ## How often should node cleanup checks run? 
cluster_formation.node_cleanup.interval = 30 
## Set to false if automatic removal of unknown/absent nodes 
## is desired. This can be dangerous, see 
cluster_formation.node_cleanup.only_log_warning = true 
cluster_partition_handling = autoheal 
queue_master_locator=min-masters 
## This is just an example. 
## This enables remote access for the default user with well known credentials. 
## Consider deleting the default user and creating a separate user with a set of generated 
## credentials instead. 
loopback_users.guest = false 
listeners.tcp.default = 5672 
default_vhost = /pso 
management.tcp.port = 15672  

Joe Marty

unread,
Dec 8, 2020, 1:21:42 PM12/8/20
to rabbitmq-users
And what is the current location of the file and value of the RABBITMQ_CONFIG_FILE env variable?

Kathy Lee

unread,
Dec 8, 2020, 1:23:39 PM12/8/20
to rabbitmq-users
export RABBITMQ_CONFIG_FILE=/srv/stella/config/rabbitmq.conf 
RABBITMQ_CONFIG_FILE=/srv/stella/config/rabbitmq.conf  

But even when we set to the standard location /etc/rabbitmq, it is failing with this message. 

Joe Marty

unread,
Dec 8, 2020, 1:30:43 PM12/8/20
to rabbitmq-users
Well, I don't think I'm experienced enough to help with this one, but it may help someone to know what version of rabbit you're running.  (If it's older, maybe it doesn't understand the new config format?)

Kathy Lee

unread,
Dec 8, 2020, 1:36:29 PM12/8/20
to rabbitmq-users
Good point! We are using RabbitMQ version 3.8.9. 

Luke Bakken

unread,
Dec 8, 2020, 2:20:58 PM12/8/20
to rabbitmq-users
Hello,

Please let us know exactly how you installed Erlang and RabbitMQ, and on what operating system.

What command are you using to start RabbitMQ?

Thanks,
Luke

Kathy Lee

unread,
Dec 8, 2020, 3:03:23 PM12/8/20
to rabbitmq-users
We are on operating system: Centos 7.7
Erlang & Rabbit MQ installed via yum install: 
rabbitmq_version="3.8.9"
rabbitmq_erlang_version="23.1.4"
yum install -y openssl erlang-${rabbitmq_erlang_version} rabbitmq-server-${rabbitmq_version} 

Starting Rabbit MQ server in entrypoint.sh file:
/usr/sbin/rabbitmq-server $@

rabbitmq-server contents:

#!/bin/sh

## This Source Code Form is subject to the terms of the Mozilla Public
## License, v. 2.0. If a copy of the MPL was not distributed with this
## file, You can obtain one at https://mozilla.org/MPL/2.0/.
##
## Copyright (c) 2018-2020 VMware, Inc. or its affiliates.  All rights reserved.
##

SCRIPT="$(basename "$0")"

main() {
  ensure_we_are_in_a_readable_dir
  if current_user_is_rabbitmq && calling_rabbitmq_server
  then
    exec_rabbitmq_server "$@"
  elif current_user_is_rabbitmq && ! calling_rabbitmq_plugins
  then
    exec_script_as_rabbitmq "$@"
  elif current_user_is_root && calling_rabbitmq_plugins
  then
    run_script_as_rabbitmq "$@"
    maybe_fixup_erlang_cookie
  elif current_user_is_root
  then
    exec_script_as_root "$@"
  else
    run_script_help_and_fail
  fi
}

maybe_fixup_erlang_cookie() {
    # rabbitmq/rabbitmq-server-release#85
    _rabbitmq_home="$(cd ~rabbitmq && pwd)"
    _erlang_cookie="$_rabbitmq_home/.erlang.cookie"
    if [ -f "$_erlang_cookie" ]
    then
        chown rabbitmq:rabbitmq "$_erlang_cookie"
        chmod 400 "$_erlang_cookie"
    fi
}

ensure_we_are_in_a_readable_dir() {
  # shellcheck disable=SC2164
  cd ~rabbitmq || cd /
}

## MODIFIED FOR DWA PURPOSE ##
current_user_is_rabbitmq() {
#  [ "$(id -un)" = "rabbitmq" ]
  [ "$(id -un)" = "stella" ]
}

current_user_is_root() {
  [ "$(id -u)" = 0 ]
}

calling_rabbitmq_server() {
  [ "$SCRIPT" = "rabbitmq-server" ]
}

calling_rabbitmq_plugins() {
  [ "$SCRIPT" = "rabbitmq-plugins" ]
}

exec_rabbitmq_server() {
  exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@"
}

run_script_as_rabbitmq() {
  HOME="$(cd ~rabbitmq && pwd)" "/usr/lib/rabbitmq/bin/$SCRIPT" "$@"
}

exec_script_as_rabbitmq() {
  HOME="$(cd ~rabbitmq && pwd)" exec "/usr/lib/rabbitmq/bin/$SCRIPT" "$@"
}

exec_script_as_root() {
  if [ -x /sbin/runuser ]
  then
    # TODO:
    # At some point all of the RabbitMQ supported distributions will be using
    # the util-linux version of /sbin/runuser, as it has been removed from GNU
    # coreutils as of 2012. At that point the first clause of the following
    # if statement can become the only statement used and the if/then
    # removed
    if /sbin/runuser --version | grep -qF util-linux
    then
        exec /sbin/runuser -u rabbitmq -- "/usr/lib/rabbitmq/bin/$SCRIPT" "$@"
    else
        exec /sbin/runuser -s /bin/sh -- rabbitmq "/usr/lib/rabbitmq/bin/$SCRIPT" "$@"
    fi
  elif [ -x /bin/su ]
  then
    exec /bin/su -s /bin/sh rabbitmq -- "/usr/lib/rabbitmq/bin/$SCRIPT" "$@"
  else
    echo "Please ensure /bin/su or /sbin/runuser exists and can be executed by $USER." 1>&2
    exit 1
  fi
}

run_script_help_and_fail() {
  "/usr/lib/rabbitmq/bin/$SCRIPT" help

  echo "
Only root or rabbitmq can run $SCRIPT
"
  exit 1
}

main "$@"


Joe Marty

unread,
Dec 8, 2020, 3:35:18 PM12/8/20
to rabbitm...@googlegroups.com
Does the rabbitmq user have permission to read the rabbitmq.conf file?

--
You received this message because you are subscribed to a topic in the Google Groups "rabbitmq-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rabbitmq-users/RDr0XqdTYHI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rabbitmq-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/75578f82-d1e7-4497-b6a6-75decefa0043n%40googlegroups.com.


Connect with us here: LinkedInFacebookInstagramTwitterBuiltInAustin

https://www.smartersorting.com/

Kathy Lee

unread,
Dec 8, 2020, 3:37:21 PM12/8/20
to rabbitmq-users
We are not using the rabbitmq user but yes, we have triple and quadruple checked that our stella user has file perms to the conf file. 

+ ls -ld /srv/stella/config
drwxrwsrwx. 2 root stella 73 Dec  8 19:35 /srv/stella/config
+ ls -l /srv/stella/config
total 12
-rw-r--r--. 1 stella stella   51 Dec  8 19:35 enabled_plugins
-rwxr-xr-x. 1 stella stella 2524 Dec  8 19:35 rabbitmq-env.sh
-rw-r--r--. 1 stella stella 1569 Dec  8 19:35 rabbitmq.conf
+ ls -ld /etc/rabbitmq
drwxr-sr-x. 1 stella stella 50 Dec  8 19:35 /etc/rabbitmq
+ ls -l /etc/rabbitmq
total 8
-rw-r--r--. 1 stella stella   51 Dec  8 19:35 enabled_plugins
-rw-r--r--. 1 stella stella 1569 Dec  8 19:35 rabbitmq.conf

Luke Bakken

unread,
Dec 8, 2020, 5:11:03 PM12/8/20
to rabbitmq-users
Hello,

You mention two bits of interesting information -
  • "entrypoint.sh" - a file like this is typically associated with Docker. Are you using Docker?
  • You mention using a non-standard user ("stella"). When you start RabbitMQ, are you certain that the beam.smp process is running as that user? Please check using the ps command.
  • Does the stella user have read permission to ALL files installed that are associated with RabbitMQ? yum should be able to list all files in the package. There will be files that have the extension .schema - double check those!
Reply all
Reply to author
Forward
0 new messages