o introducere în Mesosphere

ce este Mesosphere

Mesosphere este o soluție software care se extinde asupra capacităților de gestionare a clusterului Apache Mesos cu componente suplimentare pentru a oferi o modalitate nouă și nouă de a gestiona infrastructurile serverului. Prin combinarea mai multor componente cu Mesos, cum ar fi Marathon și Chronos, Mesosphere permite o modalitate de a scala cu ușurință aplicațiile prin abstractizarea multor provocări asociate cu scalarea.

Mesosphere oferă funcții precum programarea aplicațiilor, scalarea, toleranța la erori și auto-vindecarea. De asemenea, oferă descoperirea serviciilor de aplicații, unificarea porturilor și elasticitatea punctului final.

pentru a da o idee mai bună despre modul în care mezosfera oferă caracteristicile menționate mai sus, vom explica pe scurt ce face fiecare componentă cheie a mezosferei, începând cu Apache Mesos, și vom arăta cum fiecare este utilizată în contextul mezosferei.

o prezentare de bază a Apache Mesos

Apache Mesos este un manager de cluster open source care simplifică rularea aplicațiilor pe un cluster scalabil de servere și este inima sistemului mezosferei.

Mesos oferă multe dintre caracteristicile pe care le-ați aștepta de la un manager de cluster, cum ar fi:

  • scalabilitate la peste 10.000 de noduri
  • izolarea resurselor pentru sarcini prin containere Linux
  • eficient CPU și memorie-conștient de resurse programarea
  • master extrem de disponibile prin Apache ZooKeeper
  • web UI pentru monitorizarea cluster de stat

Mesos arhitectura

Mesos are o arhitectură care este compus din demoni master și slave, și cadre. Iată o defalcare rapidă a acestor componente și câțiva termeni relevanți:

  • master daemon: rulează pe un nod master și gestionează daemonii sclavi
  • Slave Daemon: rulează pe un nod principal și rulează sarcini care aparțin cadrelor
  • Cadru: cunoscut și sub numele de aplicație Mesos, este compus dintr-un planificator, care se înregistrează la master pentru a primi oferte de resurse și unul sau mai mulți executori, care lansează sarcini pe sclavi. Exemple de cadre Mesos includ Marathon, Chronos și Hadoop
  • ofertă: o listă a resurselor CPU și memorie disponibile ale unui nod slave. Toate nodurile slave trimit oferte comandantului, iar Maestrul oferă oferte cadrelor înregistrate
  • sarcină: o unitate de lucru care este programată de un cadru, și este executat pe un nod slave. O sarcină poate fi orice, de la o comandă bash sau script, la o interogare SQL, la un loc de muncă Hadoop
  • Apache ZooKeeper: software-ul care este folosit pentru a coordona nodurile master

arhitectura Mesos

notă: „ZK” reprezintă ZooKeeper în această diagramă.

această arhitectură permite Mesos să partajeze resursele clusterului între aplicații cu un nivel ridicat de granularitate. Cantitatea de resurse oferite unui anumit cadru se bazează pe politica stabilită de master, iar Planificatorul de cadre decide care dintre ofertele de utilizat. Odată ce Planificatorul cadru decide ce oferte dorește să folosească, îi spune lui Mesos ce sarcini ar trebui executate, iar Mesos lansează sarcinile pe sclavii corespunzători. După ce activitățile sunt finalizate și resursele consumate sunt eliberate, ciclul ofertei de resurse se repetă, astfel încât pot fi programate mai multe sarcini.

disponibilitate ridicată

disponibilitatea ridicată a mesos masters într-un cluster este activată prin utilizarea Apache ZooKeeper pentru a reproduce masters pentru a forma un cvorum. ZooKeeper coordonează, de asemenea, alegerea liderului principal și gestionează detectarea liderului printre componentele Mesos, inclusiv sclavi și cadre.

cel puțin trei noduri master sunt necesare pentru o configurație extrem de disponibilă-o configurație trei master permite menținerea cvorumului în cazul în care un singur master eșuează–dar cinci noduri master sunt recomandate pentru un mediu de producție rezistent, permițând menținerea cvorumului cu două noduri master offline.pentru mai multe informații despre Apache Mesos, vizitați pagina oficială de documentare.

o prezentare de bază a Marathon

Marathon este un cadru pentru Mesos care este conceput pentru a lansa aplicații de lungă durată și, în mezosferă, servește ca înlocuitor pentru un sistem tradiționalinit. Are multe caracteristici care simplifică rularea aplicațiilor într-un mediu grupat, cum ar fi disponibilitatea ridicată, constrângerile nodului, verificările de sănătate ale aplicațiilor, un API pentru scriptabilitate și descoperirea serviciilor și o interfață de utilizator web ușor de utilizat. Acesta adaugă scalarea și capacitățile de auto-vindecare la setul de caracteristici mezosfera.

Maratonul poate fi folosit pentru a porni alte cadre Mesos și poate lansa, de asemenea, orice proces care poate fi pornit în shell-ul obișnuit. Deoarece este proiectat pentru aplicații de lungă durată, se va asigura că aplicațiile pe care le-a lansat vor continua să ruleze, chiar dacă nodul(nodurile) slave pe care rulează eșuează.

pentru mai multe detalii despre maraton, vizitați pagina GitHub.

o prezentare de bază a Chronos

Chronos este un cadru pentru Mesos care a fost inițial dezvoltat de Airbnb ca înlocuitor pentrucron. Ca atare, este un planificator complet, distribuit și tolerant la erori pentru Mesos, care ușurează orchestrarea locurilor de muncă, care sunt colecții de sarcini. Acesta include un API care permite scripting de locuri de muncă de planificare, și o interfață web pentru ușurința de utilizare.

în Mesosphere, Chronos complimentează Maratonul, deoarece oferă un alt mod de a rula aplicații, conform unui program sau a altor condiții, cum ar fi finalizarea unui alt loc de muncă. De asemenea, este capabil să programeze locuri de muncă pe mai multe noduri slave Mesos și oferă statistici despre eșecurile și succesele locurilor de muncă.pentru mai multe detalii despre Chronos, vizitați pagina GitHub.

o prezentare de bază a HAProxy

HAProxy este un popular open source load balancer și reverse proxying soluție. Poate fi folosit în mezosferă pentru a direcționa traficul de rețea de la gazde cunoscute, de obicei mesos masters, către serviciile reale care rulează pe nodurile slave Mesos. Capacitățile de descoperire a serviciilor Mesos pot fi utilizate pentru a configura dinamic HAProxy pentru a direcționa traficul de intrare către nodurile slave backend corespunzătoare.

Pentru mai multe despre capacitățile generale ale HAProxy, consultați Introducerea noastră în HAProxy.

concluzie

Mesosphere folosește paradigme de infrastructură server care pot părea nefamiliare, deoarece a fost proiectat cu un accent puternic pe clustering și scalabilitate, dar sperăm că acum aveți o bună înțelegere a modului în care funcționează. Fiecare dintre componentele pe care se bazează oferă soluții la problemele cu care se confruntă în mod obișnuit atunci când se ocupă de gruparea și scalarea unei infrastructuri de server, iar Mesosphere își propune să ofere o soluție completă acestor nevoi.

acum, că știți elementele de bază ale mezosferei, consultați următorul tutorial din această serie. Vă va învăța cum să configurați un cluster Mezosferic gata de producție pe Ubuntu 14.04!

Lasă un răspuns

Adresa ta de email nu va fi publicată.