NetWorker: Процес сервера RabbitMQ злітає під час запуску
Summary: Після встановлення або оновлення серверного програмного забезпечення NetWorker на Linux-хості ініціалізація RabbitMQ одразу не завершується.
Symptoms
Сервер NetWorker /nsr/logs/daemon.raw Повідомляє про таку помилку:
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
Щоб відтворити daemon.raw, див. NetWorker: Як використовувати nsr_render_log для рендерингу .raw файлів журналів
The /nsr/tmp/rabbitmq/cores/erl_crash.dump Звіти:
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>)
The /opt/nsr/rabbitmq-server-#.#.#/var Каталог не створюється.
rabbitmq-server версія папки змінюється залежно від встановленої версії NetWorker.
Відключення сервісів NetWorker.
Cause
На хост встановлюється сторонній пакет Erlang, що призводить до erl Двійковий у /usr/bin.
[root@nsr ~]# which erl /usr/bin/erl
У робочому випадку це не повинно нічого не давати:
[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 у RabbitMQ забезпечує власну erl Бінарний у rabbitmq-server шлях папки, його немає /usr/bin. ОС erl пакет відрізняється від версії, яку вимагає 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
У цьому випадку RabbitMQ 4.1.1 намагається ініціалізувати Ерланг за допомогою erl 10.4.4, що неможливо. Це призводить до спостережуваного rmq Повідомлено про аварію. Версії, наведені в цій статті, наприклад, є виключно цільовими.
Пакети Erlang доступні на ОС:
rpm -qa | grep erlang
Erlang не є стандартним пакетом ОС і не очікується, що його встановлюватимуть, окрім як у системному образі середовища або не встановлений адміністратором ОС. The erl реалізація, яку використовує NetWorker, не повертається вищезазначеною командою. Будь-який пакет Erlang, що був показаний, встановлювався окремо від NetWorker. Пакети Erlang, встановлені ОС, конфліктують із NetWorker.
З erl_crash.dump, присутність init:boot_loop/2 вказує, що відмова відбувається під час ініціалізації виконання Ерланга. RabbitMQ ніколи не досягає ініціалізації додатків, що пояснює, чому каталог var RabbitMQ не створюється.
Звіти стартапу NetWorker init terminating in do_boot with {undef,[{rabbit,boot,[],[]}]}. В Ерлангу, undef вказує, що функція або модуль не можуть бути розв'язані під час виконання. У цьому контексті це означає, що віртуальна машина Erlang не могла завантажити модуль додатку RabbitMQ. Несумісне або неправильне використання Erlang під час виконання призведе до збоїв при запуску RabbitMQ.
Resolution
Якщо вони не потрібні іншим додатком, видаліть їх із системи. Ви можете перевірити це за допомогою наступної команди:
rpm -q --whatrequires erlang
Якщо пакети повернуті, ви повинні проконсультуватися з адміністратором ОС щодо знайдених пакетів Erlang і чи можна їх видалити.
Щоб видалити Ерланг, використовуй:
dnf remove erlang\*
Після видалення Erlang виконайте наступні кроки з кореневого запиту на сервері NetWorker:
- Отримайте список наразі встановленого програмного забезпечення NetWorker:
rpm -qa | grep lgto
- Видаліть кожен пакет NetWorker, який повертається наведеною вище командою:
rpm -e package1 package2 package3 package4 so_forth
- Перейменуйте папки RabbitMQ. Вам потрібно вказати назву версії папки для вашої інсталяції NetWorker.
mv /opt/nsr/rabbitmq-server-#.#.# /opt/nsr/rabbitmq-server-#.#.#_$(date -I) mv /nsr/rabbitmq /nsr/rabbitmq_$(date -I)
- Перевстановити NetWorker:
yum localinstall --nogpgcheck -y package1 package2 package3 package4 so_forth
- Запустіть післяінсталяційний скрипт конфігурації AUTHC:
/opt/nsr/authc-server/scripts/authc_configure.sh
- Запустити сервіси NetWorker:
systemctl start networker
- Моніторинг сервера
/nsr/logs/daemon.rawщоб підтвердити запуск сервера.
NetWorker: Як використовувати nsr_render_log для рендерингу .raw файлів журналів
Якщо сервер NetWorker також є сервером NetWorker Management Console (NMC) або NetWorker Web User Interface (NWUI), запустіть їхні скрипти конфігурації:
/opt/lgtonmc/bin/nmc_config /opt/nwui/scripts/nwui_configure.sh
Additional Information
RabbitMQ може не запускатися з інших причин, окрім описаної в цій статті. У цьому конкретному сценарії RabbitMQ /var Каталог не створюється. Якщо /var створюється, і журнали доступні, перегляньте додаткові логи RabbitMQ для отримання додаткової інформації. Також може знадобитися налагодження RabbitMQ: NetWorker: Як увімкнути налагодження RabbitMQ