
Ich habe 3 Cluster erhalten. Einer ist von Kafka, einer von Storm und einer von ZooKeeper. Ich muss dafür sorgen, dass die Dienste gestartet werden und, wenn sie gestoppt werden, wieder gestartet werden, wie in derZookeeper-Administratorhandbuch.
OS for every machine => Ubuntu-trusty 14.04
Platform => Running in Amazon EC2
Also, um es noch einmal zusammenzufassen: Ich muss in der Lage sein, den jeweiligen Dienst beim Start zu starten. Wenn der Dienst startet, muss er neu gestartet werden. Ich muss das für Storm, Kafka und Zookeeper tun. Und die Antwort muss einfach und direkt sein. Eine andere Möglichkeit, diese Frage zu stellen: Was ist der einfachste Weg, um meine Ziele zu erreichen?
Antwort1
Der Dienstverwaltungsmechanismus für Ubuntu ist Upstart. Die Upstart-Anleitung finden Sie hier: http://upstart.ubuntu.com/cookbook/
Der Einstieg ist nicht allzu schwer. Es gibt jede Menge Beispiele, die Sie abschreiben können.
Es stellt sich heraus (aus unserem Chat, der in den Kommentaren verlinkt ist), dass @MassSql Dienste hat, die im Hintergrund laufen (und sich vermutlich selbst überwachen/neu starten, wenn sie abstürzen). Wenn das der Fall ist, kann er den einfacheren/alten RC-Skriptmechanismus verwenden (der von Upstart implementiert wird, aber eine viel einfachere Schnittstelle für einfachere Aufgaben hat, wie zum Beispiel Dinge beim Booten zu starten und sie beim Herunterfahren zu stoppen). Hier ist also dieser Ansatz:
- Gehen Sie zu /etc/init.d und erstellen Sie eine Kopie von dns-clean (benennen Sie sie nach Belieben).
- Bearbeiten Sie die Datei. Ändern Sie den Abschnitt, indem Sie die Beschreibungen ändern und die Felder und
INIT INFO
löschen . Geben Sie einen neuen Namen für ein . (ändern Sie grundsätzlich alles außer )Required-Start
Required-Stop
Provides
Default-Start
- Löschen Sie diese Zeilen:
test -f /usr/sbin/pppconfig || beenden 0
mkdir /var/run/pppconfig >/dev/null 2>&1 || wahr
test -f /etc/ppp/ip-down.d/0dns-down || beenden 0
Ändern Sie die Zeilen im
start)
Block, um Ihre Skripte auszuführen. Lassen Sie das;;
am Ende stehen.Führen Sie „Ausführen“ aus
update-rc.d foobar enable
, wobei der Name Ihres Dienstes ist (sollte zumindest der Konvention zufolgefoobar
sowohl der Name der Datei als auch der sein ).Provides
Starten Sie Ihr System neu und testen Sie es.