В моей системе Fedora 23 база данных запускается systemd. Другая служба (hive-metastore), которая зависит от этой базы данных, запускается с помощью сценария init.d. Мне неясно, как правильно запустить эти службы в правильном порядке (база данных до улья-мегастор).
Вполне вероятно, что лучшим решением будет просто написать модуль 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, так как в этом случае вы, вероятно, добавили бы конфигурацию в другую службу и использовали бы оба After
контролировать заказ и Requires
чтобы обеспечить запуск базы данных, но одного заказа достаточно, если обе службы включены и упорядочение можно контролировать с любого конца зависимости.