Widzę Mesosferę budującą wszelkiego rodzaju aplikacje w ramach Mesos Framework, takie jak Hadoop, Kubernetes, itp., Ale skoro nie ma aplikacji Marathon dla długotrwałych usług, dlaczego nie skorzystać z tego? Na przykład. dlaczego nie założyć węzłów Kubernetes na kilku serwisach maratonu? Dlaczego warto wdrożyć Kubernetes bezpośrednio na API Framework? Ponieważ planowanie jest w ten sposób bardziej efektywne? To samo pytanie dotyczy implementacji Jenkinsa, dlaczego po prostu nie uruchamiać mistrza/niewolników Jenkinsa na Maratonie ...Aplikacje Mesos, dlaczego nie używać Maratonu do wszystkiego?
Odpowiedz
Apache Mesos to 2-level scheduler. Celem struktury jest zapewnienie inteligencji planowania na wysokim poziomie. Marathon umożliwia zaplanowanie zadania w klastrze, umieszczenie go w kolejce do planowania i kolejkowania zadań, które się nie powiodły. Świetnie sprawdza się w utrzymywaniu długich uruchomionych procesów. To jest jak init
centrum danych. W związku z tym jest powszechnie używany, aby zapewnić działanie innych frameworków, takich jak Kubernetes-Mesos lub Jenkins.
Istnieje wiele aplikacji, dla których ten poziom harmonogramu jest niewystarczający. Maraton może i często jest używany do uruchamiania rzeczy takich jak Apache Kafka, jednak często nie jest to możliwe w wielu trybach awaryjnych. Dodatkowo, Maraton nie dba o to, czy zadanie jest uruchamiane wiele razy w tym samym węźle, jednak uruchomienie wielu węzłów Kafki na tym samym niewolniku jest złym pomysłem. Używając Hadoop jako kolejnego przykładu (od kiedy to poleciłeś), HDFS ma kilka typów węzłów, którymi trzeba zarządzać; NameNode, DataNode i JournalNode. Maraton nie zna kolejności, w jakiej można je uruchomić, lub jeśli mogą one znajdować się w tym samym węźle lub nie. Nie wie, jak skalować tę aplikację. Struktura HDFS zarządza tą inteligencją.
Jeśli chodzi o efektywność planowania, nie jestem pewien, czy jest to cel. Apache Mesos to dwu-poziomowy program szeregujący z jakiegoś powodu. Jest to wysoce wydajny 2-poziomowy program szeregujący. Wartość 2-poziomowego harmonogramowania polega na wyodrębnieniu rodzaju problemów opisanych powyżej do harmonogramu wyższego poziomu (który jest określany przez Mesos jako struktura). Maraton jest wciąż świetnym sposobem na zaplanowanie i zapewnienie wysokiej dostępności innym frameworkom.
Dzięki! Chociaż wciąż jestem trochę zdezorientowany ... Więc jeśli chciałbym uruchomić serwer sieciowy (JBoss, Nginx, Tomcat ...) na Meso, czy byłoby sens uruchomić go na Maratonie? Czy skorzystałbym ze wszystkich funkcji HA? – user1340582