Czym właściwie zajmuje się Apache Mesos?

Staram się ogarnąć Apache Mesos i potrzebuję wyjaśnień na temat kilku rzeczy.

Mojezrozumienie Mesos polega na tym, że jest to plik wykonywalny, który jest instalowany na każdym serwerze fizycznym/VM ("node ") w klastrze, a następnie dostarcza API Javy (w jakiś sposób), które traktuje każdy węzeł jako zbiorczą pulę zasobów obliczeniowych (CPU/RAM/itp.). Dlatego do programów kodujących w oparciu o API Javy, widzą tylko 1 pojedynczy zestaw zasobów i nie musisz się martwić o to, jak / gdzie kod jest wdrażany.

Więc po pierwsze, mogę się zasadniczo mylić w moim rozumieniu tutaj (w takim przypadku, proszę mnie poprawić!). Ale jeśli jestem na target, to w jaki sposób Java API (dostarczany przez Mesos) pozwala klientom Java korzystać z tych zasobów?!? Czy ktoś może podać konkretny przykład Mezo w akcji?


Update

Spójrz na mój okropny rysunek poniżej. Jeśli dobrze rozumiem architekturę Mezos, mamy klaster 3 serwery fizyczne (phys01, phys02 i phys03). Każdy z tych fizyków uruchamia host Ubuntu (lub cokolwiek). Poprzez hipernadzorcę, powiedzmy Xen, możemy uruchomić 1 + maszyny wirtualne.

Jestem zainteresowany Docker & CoreOS, więc użyję ich w tym przykładzie, ale domyślam się, że to samo może dotyczyć innych konfiguracji bez kontenera.

Więc na każdej maszynie wirtualnej mamy CoreOS. Uruchamiany na każdej instancji CoreOS to plik wykonywalny/serwer Mesos. Wszystkie węzły Mezos w klastrze widzą wszystko pod nimi jako pojedynczą pulę zasoby i artefakty mogą być dowolnie rozmieszczone w klastrze Mesos, a Mesos zorientuje się, do której instancji CoreOS faktycznie je wdrożyć.

[5]}bieganie na szczycie Mezos to "ramy Mezos", takie jak maraton lub Kubernetes. Wewnątrz Kubernetes działają różne kontenery Docker(C1 - C4).

Tutaj wpisz opis obrazka

Czy to rozumienie Mezos jest mniej lub bardziej poprawne?
Author: smeeb, 2015-01-22

1 answers

Twoje podsumowanie jest prawie słuszne, ale nie odzwierciedla istoty tego, co reprezentuje Mezos. Wizja mesosphere, firmy stojącej za projektem, polega na stworzeniu "systemu operacyjnego centrum danych", a Mesosphere jest jego jądrem w analogii do jądra normalnego systemu operacyjnego. API nie jest ograniczone do Javy, można używać C, C++, Java / Scala lub Python. Jeśli skonfigurowałeś swój klaster Mezos, jak opisałeś w swoim pytaniu i chcesz wykorzystać swoje zasoby, zwykle robisz to za pośrednictwem framework zamiast uruchamiać obciążenie bezpośrednio na nim. To nie znaczy, że jest to skomplikowane Oto bardzo mały przykład w Scali , który to pokazuje. Frameworki istnieją dla wielu popularnych rozproszonych systemów przetwarzania danych, takich jak Apache Spark, Apache Cassandra . Istnieją inne frameworki, takie jak Chronos a cron na poziomie centrum danych lub Marathon , który pozwala uruchomić Docker oparty aplikacje.

Update:

Tak, mesos zajmie się umieszczeniem w klastrze, ponieważ to właśnie robi jądro - planowanie i zarządzanie ograniczonymi zasobami. Konfiguracja, którą naszkicowałeś, rodzi jednak kilka oczywistych pytań.

Warstwy pod Mezos: instalacja Mezos na CoreOS jest możliwa, ale uciążliwa, jak myślę. Nie jest to typowy scenariusz uruchamiania Mezos-zwykle jest przenoszony na najniższą możliwą warstwę (powyżej Ubuntu w twoja sprawa). Więc mam nadzieję, że masz dobre powody, aby uruchomić CoreOS i hipernadzorcę.

Warstwy nad Mezos: Kubernetes jest dostępny jako framework, a mezosfera wydaje się wkładać w to wiele wysiłku. Nie ulega jednak wątpliwości, że częściowo pokrywają się one pod względem funkcjonalności - zwłaszcza w odniesieniu do planowania. Jeśli chcesz zaplanować podstawowe obciążenia w oparciu o kontenery, lepiej skorzystaj z Marathon lub w przyszłości może Aurora . Więc również tutaj mam nadzieję, że macie dobre powody do tego właśnie porozumienia. Uwaga boczna: Kubernetes jest podobny do maratonu z szerszym podejściem i dość opiniotwórczy.

 25
Author: vanthome,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-27 22:06:45