NetWorker: Server-RabbitMQ-Prozess stürzt während des Starts ab
Summary: Nach der Installation oder dem Upgrade der NetWorker-Serversoftware auf einem Linux-Host schlägt die RabbitMQ-Initialisierung sofort fehl.
Symptoms
Der NetWorker-Server /nsr/logs/daemon.raw meldet den folgenden Fehler:
127106 1777471849 1 5 0 2845669184 13680 0 NW_SERVERNAME nsrctld NSR notice 44 Startup in progress; starting all daemons... 0
144355 1777471849 1 5 0 2845669184 13680 0 NW_SERVERNAME nsrctld NSR notice 21 Daemon %s is running. 1 0 8 rmq-epmd
144355 1777471851 1 5 0 2845669184 13680 0 NW_SERVERNAME nsrctld NSR notice 21 Daemon %s is running. 1 0 3 rmq
0 1777471852 1 5 0 2777708288 13680 0 NW_SERVERNAME nsrctld NSR notice 6 %s: %s 2 0 3 rmq 0 103 {"init terminating in do_boot",{undef,[{rabbit,boot,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}
0 1777471852 1 5 0 2777708288 13680 0 NW_SERVERNAME nsrctld NSR notice 6 %s: %s 2 0 3 rmq 0 101 init terminating in do_boot ({undef,[{rabbit,boot,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]})
0 1777471852 1 5 0 2777708288 13680 0 NW_SERVERNAME nsrctld NSR notice 6 %s: %s 2 0 3 rmq 0 1
0 1777471852 1 5 0 2777708288 13680 0 NW_SERVERNAME nsrctld NSR notice 6 %s: %s 2 0 3 rmq 0 73 Crash dump is being written to: /nsr/tmp/rabbitmq/cores/erl_crash.dump...
0 1777471852 1 5 0 2777708288 13680 0 NW_SERVERNAME nsrctld NSR notice 6 %s: %s 2 0 3 rmq 0 5 done
144354 1777471852 1 5 0 2845669184 13680 0 NW_SERVERNAME nsrctld NSR notice 21 Daemon %s terminated. 1 0 3 rmq
144359 1777471852 3 5 0 2845669184 13680 0 NW_SERVERNAME nsrctld NSR error 45 Scheduling restart of daemon %s in %u seconds 2 20 50 /opt/nsr/rabbitmq-server-4.1.1/bin/rabbitmq-server 5 1 5
137911 1777471852 5 5 0 2845669184 13680 0 NW_SERVERNAME nsrctld NSR critical 29 Aborting startup sequence: %s 1 49 148 137909 66 Process %s exited in less than %d seconds at startup: exit code %d 3 20 50 /opt/nsr/rabbitmq-server-4.1.1/bin/rabbitmq-server 1 2 10 1 1 1
127108 1777471852 5 5 0 2845669184 13680 0 NW_SERVERNAME nsrctld NSR critical 45 Failed to start all daemons; shutting down... 0
0 1777471853 1 5 0 2777708288 13680 0 NW_SERVERNAME nsrctld NSR notice 6 %s: %s 2 0 8 rmq-epmd 0 65 epmd: Wed Apr 29 08:10:53 2026: got KILL_REQ - terminates normal
So rendern Sie die daemon.rawSieh: NetWorker: So verwenden Sie nsr_render_log zum Rendern .raw Protokolldateien
Bei der /nsr/tmp/rabbitmq/cores/erl_crash.dump Berichte:
Current Process Internal State: ACT_PRIO_NORMAL | USR_PRIO_NORMAL | PRQ_PRIO_NORMAL | ACTIVE | RUNNING | ACTIVE_SYS
Current Process Program counter: 0x00007faebd5b1ed0 (init:boot_loop/2 + 56)
Current Process CP: 0x00005651bc4d68b8 (<terminate process normally>)
Bei der /opt/nsr/rabbitmq-server-#.#.#/var Verzeichnis wird nicht erstellt.
rabbitmq-server Die Ordnerversion ändert sich je nach installierter NetWorker-Version.
Die NetWorker-Services werden heruntergefahren.
Cause
Ein Erlang-Paket eines Drittanbieters wird auf dem Host installiert, was zu einem erl Binär in /usr/bin.
[root@nsr ~]# which erl /usr/bin/erl
In einem funktionierenden Szenario sollte dies nichts zurückgeben:
[root@nsr ~]# which erl /usr/bin/which: no erl in (/root/.local/bin:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
Die NetWorker-Serverimplementierung von RabbitMQ bietet eine eigene erl Binärdatei in der rabbitmq-server Ordnerpfad, er befindet sich nicht in /usr/bin. Das BS erl Das Paket unterscheidet sich von der für NetWorker erforderlichen Version:
[root@nsr ~]# /opt/nsr/rabbitmq-server-4.1.1/erts-14.2.5.11/bin/erl -version Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 14.2.5.11 [root@nsr ~]# /usr/bin/erl -version Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 10.4.4
In diesem Fall versucht RabbitMQ 4.1.1, Erlang mit erl 10.4.4, was nicht möglich ist. Daraus ergibt sich die beobachtete rmq Absturz gemeldet. Die in diesem Artikel gezeigten Versionen dienen z.B. nur Zwecken.
Erlang-Pakete befinden sich auf dem Betriebssystem:
rpm -qa | grep erlang
Erlang ist kein standardmäßiges Betriebssystempaket und es wird nicht erwartet, dass es installiert wird, es sei denn, es befindet sich in einem Umgebungssystem-Image oder wird von einem Betriebssystemadministrator installiert. Bei der erl Die von NetWorker verwendete Implementierung wird vom obigen Befehl nicht zurückgegeben. Alle angezeigten Erlang-Pakete wurden separat von NetWorker installiert. Die auf dem Betriebssystem installierten Erlang-Pakete stehen in Konflikt mit NetWorker.
Wählen Sie aus dem erl_crash.dump, das Vorhandensein von init:boot_loop/2 gibt an, dass der Fehler während der Erlang-Laufzeitinitialisierung auftritt. RabbitMQ erreicht nie die Anwendungsinitialisierung, weshalb das RabbitMQ-Verzeichnis var nicht erstellt wird.
Die NetWorker-Startberichte init terminating in do_boot with {undef,[{rabbit,boot,[],[]}]}. In Erlang, undef Gibt an, dass eine Funktion oder ein Modul zur Laufzeit nicht aufgelöst werden konnte. In diesem Zusammenhang bedeutet dies, dass die Erlang-VM das RabbitMQ-Anwendungsmodul nicht laden konnte. Eine inkompatible oder falsche Erlang-Laufzeitnutzung führt zu RabbitMQ-Startfehlern.
Resolution
Wenn sie nicht von einer anderen Anwendung benötigt werden, entfernen Sie sie aus dem System. Sie können dies mit dem folgenden Befehl überprüfen:
rpm -q --whatrequires erlang
Wenn Pakete zurückgegeben werden, müssen Sie sich mit dem Betriebssystemadministrator beraten, ob Erlang-Pakete gefunden werden und ob sie entfernt werden können.
Um Erlang zu entfernen, verwenden Sie:
dnf remove erlang\*
Nachdem Erlang entfernt wurde, führen Sie die folgenden Schritte über eine Root-Eingabeaufforderung auf dem NetWorker-Server aus:
- Rufen Sie eine Liste der derzeit installierten NetWorker-Software ab:
rpm -qa | grep lgto
- Deinstallieren Sie jedes NetWorker-Paket, das mit dem obigen Befehl zurückgegeben wird:
rpm -e package1 package2 package3 package4 so_forth
- Benennen Sie die RabbitMQ-Ordner um. Sie müssen den Versionsnamen des Ordners für Ihre NetWorker-Installation angeben.
mv /opt/nsr/rabbitmq-server-#.#.# /opt/nsr/rabbitmq-server-#.#.#_$(date -I) mv /nsr/rabbitmq /nsr/rabbitmq_$(date -I)
- Installieren Sie NetWorker neu:
yum localinstall --nogpgcheck -y package1 package2 package3 package4 so_forth
- Führen Sie das AUTHC-Konfigurationsskript nach der Installation aus:
/opt/nsr/authc-server/scripts/authc_configure.sh
- Starten Sie die NetWorker-Services:
systemctl start networker
- Überwachen des Servers
/nsr/logs/daemon.raw, um den Serverstart zu bestätigen.
NetWorker: So verwenden Sie nsr_render_log zum Rendern .raw Protokolldateien
Wenn der NetWorker-Server auch der NetWorker Management Console (NMC)- oder der NetWorker Web User Interface (NWUI)-Server ist, führen Sie deren Konfigurationsskripte aus:
/opt/lgtonmc/bin/nmc_config /opt/nwui/scripts/nwui_configure.sh
Additional Information
RabbitMQ kann möglicherweise aus anderen als den in diesem Artikel beschriebenen Gründen nicht gestartet werden. In diesem speziellen Szenario wird der RabbitMQ /var Das Verzeichnis wurde nicht erstellt. Wenn /var erstellt wird und Protokolle verfügbar sind. Überprüfen Sie die zusätzlichen RabbitMQ-Protokolle für weitere Einblicke. RabbitMQ-Debugging kann auch erforderlich sein: NetWorker: So aktivieren Sie das RabbitMQ-Debugging