Ich schreibe ein Mesos-Framework und möchte meine Aufgaben mit meinem benutzerdefinierten Executor ausführen. Ich ging durch ein paar andere mesos Framework-Codebasen (chronos und marathon) und schrieb einen Scheduler, der Shell-Befehle mit dem Standard-Befehls-Executor ausführt. Jetzt möchte ich den Standard-Executor durch etwas Brauchbares ersetzen. Das Problem ist, ich kann nicht herausfinden, wie man einen Executor mit dem Slave registriert. Die Dokumentation zum Erstellen eines Frameworks besagt, dass es eine ausführbare Datei sein sollte, und Sie können den Pfad mithilfe von executorInfo angeben, aber ich sehe nicht genau, wie es geht. Außerdem, was ist der Sinn der Executor-Schnittstelle, die jeder Executor implementieren muss und gleichzeitig eine ausführbare Datei benötigt? Was sind die Argumente für die ausführbare Datei?Wie startet man eine Mesos-Task auf einem bestimmten Executor?
Antwort
Die ausführbaren Executor-Links mit der mesos-Bibliothek und den Executor-Schnittstellen/-Rückrufen sind die einzige Möglichkeit, wenn Ereignisse wie Registrierung, erneute Registrierung und Trennung im Slave auftreten oder wenn launchTask- oder killTask-Anfragen von Ihrem Framework ausgegeben werden .
Es ist in zwei Teile verdrahtet (genau wie Frameworks sind), bestehend aus einem ExecutorDriver und Ihre Executor-Implementierung.
Wenn Sie sich mesos/executor.hpp ansehen, werden Sie feststellen, dass der Konstruktor einen Zeiger auf einen Executor benötigt. Zum Beispiel
Die verschiedenen Rückrufe bieten Ihnen die notwendigen Protokollpuffer (definiert in mesos.proto), z. Eine TaskInfo in LaunchTask, eine TaskID in KillTask und so weiter.
Wenn es zur Framework-Seite kommt und Sie Ihren eigenen Executor registrieren möchten, versuchen Sie es mit https://github.com/mesosphere/mesos-go/blob/master/src/mesos.apache.org/example_framework/main.go.
Hoffe, dass dies hilft und lassen Sie mich wissen, wenn ich auf eine der oben genannten erweitern muss.
- 1. Wie startet man einen Spark-Executor neu, nachdem er abgestürzt ist (im YARN-Client-Modus)?
- 2. Wie man zum Ultraschallsensor eine Webkamera startet?
- 3. wie startet man emr cluster auf amazon?
- 4. Wie startet Windows RegEdit mit bestimmten Pfad?
- 5. Wie startet man im Frühjahr manuell eine Transaktion auf einem freigegebenen EntityManager?
- 6. Wie startet man Bluetooth Pairing?
- 7. Wie erstellt man eine Menüleiste, die eine App startet?
- 8. Wie startet man Linux aus einem C++ Programm heraus?
- 9. Capturing Executor für aktuelle Thread
- 10. Prozess auf einem bestimmten Desktop starten
- 11. Wie schränkt man eine Methode auf einen bestimmten Thread ein?
- 12. Django: wie man in einem "apps" Ordner startet
- 13. Wie startet man WCF/WPF?
- 14. Wie man Fensterdienst automatisch startet
- 15. Executor-Dienst in Java -> wie man Einzel-Thread-Code zu Executor
- 16. Wie startet man E-Mail-Absicht mit einem angehängten Bild?
- 17. Wie startet man die Anwendung nach einem Fehler neu?
- 18. Wie startet man winpdb aus einem Python-Skript?
- 19. Erstellen eines ExecutorService von einem Executor
- 20. Remote Control API oder wie startet man?
- 21. ThreadPool ist Executor wie Polling ist?
- 22. Wie startet man einen Dienst mit VB.NET?
- 23. Wie man phonegap macht window.location.href startet Chrome nicht auf Android
- 24. Geo Intent, wie man Richtungen automatisch startet
- 25. Wie man twisted's reactor von ipython startet
- 26. Java: Wie man eine statische Klasse "neu startet"?
- 27. Wie ermittelt man, warum eine Erlang-Anwendung nicht startet?
- 28. Wie startet man Finder programmgesteuert neu?
- 29. wie man Einhorn manuell neu startet
- 30. Wie startet man den Übergang mit onclick auf div?