Порядок обслуживания с использованием служб systemd и устаревших служб init.d

В моей системе Fedora 23 база данных запускается systemd. Другая служба (hive-metastore), зависящая от этой базы данных, запускается через сценарий init.d. Мне неясно, как правильно запустить эти службы в правильном порядке (база данных до улья-мегастор).

1
задан 23 February 2016 в 10:12
1 ответ

Вполне вероятно, что лучшим решением будет просто написать модуль systemd для службы hive-metastore - если у него такое же имя, то systemd будет использовать его вместо сценария инициализации и его, вероятно, будет намного легче читать и намного надежнее.

Вы можете управлять упорядочением и без этого, добавив Before = hive-metastore.service в модуль обслуживания базы данных. Лучше всего это сделать с помощью фрагмента dropin, поэтому создайте что-то вроде /etc/systemd/system/database-name.service.d/hive-metastore.conf с таким содержимым:

[Unit]
Before=hive-metastore.service

Это не совсем то, что вы подойдет, если бы оба были встроенными модулями systemd, так как в этом случае вы, вероятно, добавили бы конфигурацию в другую службу и использовали бы как После для управления порядком, так и Требует для обеспечения базы данных запускается, но одного упорядочивания достаточно, если обе службы включены и упорядочение можно контролировать с любого конца зависимости.

1
ответ дан 3 December 2019 в 23:50

Теги

Похожие вопросы