NetWorker: Server RabbitMQ-prosessen krasjer under oppstart
Summary: Når du har installert eller oppgradert NetWorker-serverprogramvaren på en Linux-vert, mislykkes initialiseringen av RabbitMQ umiddelbart.
Symptoms
NetWorker-serveren /nsr/logs/daemon.raw Rapporterer følgende feil:
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
Hvis du vil gjengi daemon.rawSe: NetWorker: Slik bruker du nsr_render_log til å gjengi .raw loggfiler
Informasjonen i /nsr/tmp/rabbitmq/cores/erl_crash.dump Rapporter:
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>)
Informasjonen i /opt/nsr/rabbitmq-server-#.#.#/var Katalogen blir ikke opprettet.
rabbitmq-server mappeversjonen endres avhengig av NetWorker-versjonen som er installert.
Avslutning av NetWorker-tjenester.
Cause
En tredjeparts Erlang-pakke er installert på verten, noe som resulterer i en erl Binær i /usr/bin.
[root@nsr ~]# which erl /usr/bin/erl
I et arbeidsscenario bør dette ikke returnere noe:
[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)
NetWorker-serverimplementeringen av RabbitMQ gir sin egen erl Binærfil i rabbitmq-server mappe bane, er det ikke i /usr/bin. Operativsystemet erl pakken er forskjellig fra versjonen som kreves av NetWorker:
[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
I dette tilfellet forsøker RabbitMQ 4.1.1 å initialisere Erlang ved hjelp av erl 10.4.4 som ikke er mulig. Dette resulterer i observert rmq Krasj rapportert. Versjonene som vises i denne artikkelen, er for eksempel bare formål.
Erlang-pakker finnes på operativsystemet:
rpm -qa | grep erlang
Erlang er ikke en standard OS-pakke, og den forventes ikke å bli installert med mindre den er i et miljøsystembilde eller installert av en OS-administrator. Informasjonen i erl implementering som brukes av NetWorker, returneres ikke av kommandoen ovenfor. Alle viste Erlang-pakker ble installert separat fra NetWorker. Erlang-pakkene som er installert i operativsystemet, er i konflikt med NetWorker.
Fra erl_crash.dump, tilstedeværelsen av init:boot_loop/2 angir at feilen oppstår under initialisering av Erlang-kjøretid. RabbitMQ når aldri applikasjonsinitialisering, noe som forklarer hvorfor RabbitMQ var-katalogen ikke opprettes.
Det rapporterer NetWorker-oppstarten init terminating in do_boot with {undef,[{rabbit,boot,[],[]}]}. I Erlang, undef angir at en funksjon eller modul ikke kunne løses ved kjøretid. I denne sammenhengen betyr det at Erlang VM ikke var i stand til å laste inn RabbitMQ-applikasjonsmodulen. Inkompatibel eller feil bruk av Erlang kjøretid vil føre til oppstartsfeil for RabbitMQ.
Resolution
Hvis de ikke kreves av et annet program, fjerner du dem fra systemet. Du kan sjekke med følgende kommando:
rpm -q --whatrequires erlang
Hvis pakker returneres, må du rådføre deg med OS-administratoren angående eventuelle Erlang-pakker som blir funnet, og om de kan fjernes.
Slik fjerner du bruk av Erlang:
dnf remove erlang\*
Når Erlang er fjernet, utfører du følgende trinn fra en rotledetekst på NetWorker-serveren:
- Få en liste over den installerte NetWorker-programvaren:
rpm -qa | grep lgto
- Avinstaller hver NetWorker-pakke som returneres av kommandoen ovenfor:
rpm -e package1 package2 package3 package4 so_forth
- Gi nytt navn til RabbitMQ-mappene. Du må angi mappeversjonsnavnet for NetWorker-installasjonen.
mv /opt/nsr/rabbitmq-server-#.#.# /opt/nsr/rabbitmq-server-#.#.#_$(date -I) mv /nsr/rabbitmq /nsr/rabbitmq_$(date -I)
- Installer NetWorker på nytt:
yum localinstall --nogpgcheck -y package1 package2 package3 package4 so_forth
- Kjør AUTHC-konfigurasjonsskriptet etter installasjonen:
/opt/nsr/authc-server/scripts/authc_configure.sh
- Start NetWorker-tjenester:
systemctl start networker
- Overvåk serveren
/nsr/logs/daemon.rawfor å bekrefte serveroppstart.
NetWorker: Slik bruker du nsr_render_log til å gjengi .raw loggfiler
Hvis NetWorker-serveren også er en NMC- (NetWorker Management Console)- eller NetWorker Web User Interface-server (NWUI), kjører du konfigurasjonsskriptene:
/opt/lgtonmc/bin/nmc_config /opt/nwui/scripts/nwui_configure.sh
Additional Information
RabbitMQ kan mislykkes i å starte av andre årsaker enn årsaken som er beskrevet i denne artikkelen. I dette spesifikke scenariet er RabbitMQ /var Katalogen er ikke opprettet. Hvis /var er opprettet og logger er tilgjengelige, se gjennom de ekstra RabbitMQ-loggene for mer innsikt. RabbitMQ feilsøking kan også være nødvendig: NetWorker: Slik aktiverer du feilsøking av RabbitMQ