日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mesos介绍

發布時間:2024/9/16 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mesos介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????Mesos項目可以很容易地實現分布式應用的自動化調度。同時,Mesos自身也很高的結合和主持了Docker等相關容器技術,基于Mesos已有的大量應用框架,可以實現用戶應用的快速上線。

????Mesos可以將整個數據中心的資源(包括CPU、內存、存儲、網絡等)進行抽象和調度,是的多個應用同時運行在集群中分享資源,并無需關心資源的屋里分布情況。

如果把數據中心中的集群資源看做一臺服務器,那么Mesos要做的事情,其實就是今天操作系統內核的職責:抽象資源+調度任務。Mesos項目代碼已經相對成熟。擁有許多引人注目的特性,包括:

  • 支持數萬個節點的大規模場景
  • 支持多種應用框架,包括Marathon、Singularity、Aurora等;
  • 支持HA(基于ZooKeeper實現)
  • 支持Docker、LXC等容器機制進行任務隔離;
  • 提供了多個流行語言的API,包括Python、Javaden
  • 自帶了簡潔易用的WebUI,方便用戶直接進行操作;
  • Mesos才用了經典的“主-從”架構,其中主節點(管理節點)可以使用Zookeeper來做HA。Mesos master 服務獎運行在主節點上,Mesos slave 服務則需要運行在各個計算任務節點上。負責完成具體任務的應用框架,與Mesos master進行交互,來申請資源。

    ???????? Mesos有三個基本的組件:管理服務(master)、任務服務(slave)以及應用框架(framework)。

    ???????? 管理服務(master):跟大部分分布式系統中類似,主節點起到管理作用,將看到全局的信息,負責不同應用框架之間的資源調度和邏輯控制。應用框架需要注冊到管理服務上才能被使用。用戶和應用需要通用主節點提供的API來獲取集群狀態和操作集群資源。

    ???????? 任務服務(slave):負責匯報本從節點上的資源狀態(空閑資源、運行狀態等等)給主節點,并負責隔離本地資源來執行主節點分配的具體任務。隔離機制目前包括各種容器機制,包括LXC、Docker等。

    ???????? 應用框架(framework):應用框架是實際干活的,包括連個主要組件:

    ?????????????????? 調度器:注冊到主機誒單,等待分配資源;

    ?????????????????? 執行器:在從節點上執行框架指定的任務(框架也可以使用Mesos自帶的執行器,包括shell腳本執行器和Docker執行器)

    ???????? 應用框架可以分兩種:一種是對資源的需求會擴展(比如Hadoop、Spark等),申請后還可能調整;另一種是對資源的需求將會固定(MPI等),一次申請即可。

    調度

    ????對于一個資源調度框架來說,最核心的就是調度機制,怎么能快速高效地完成對某個應用框架資源的分配,是核心競爭力所在。最理想情況下(大部分時候都無法實現),最好是能猜到應用們的實際需求,實現最大化的資源使用率。

    ????Mesos為了實現盡量優化的調度,采取了兩層(two-layer)的調度算法

    ????調度的基本思路很簡單,master先全局調度一大塊資源給某個framework,framework自己在實現內部的細粒度調度,決定那個任務用多少資源。兩層調度簡化了Mesos master自身的調度過程,通過將復雜的細粒度調度交由framework實現,避免了Mesos master成為性能的瓶頸。

    調度過程

    ????調度通過offer發送的方式進行交互。一個offer是一組資源例如<1 CPU ,2GB Mem>>。

    基本調度過程如下:

  • Slave節點會周期性匯報自己可用的資源給master;
  • 某個時候,master收到應用框架發來的資源請求,根據調度策略,計算出來一個資源offer給framework;
  • framework收到offer后可以決定要不要,如果接受的話,返回一個描述,說明自己希望如何使用和分配這些資源來運行某些任務(可以說明只希望使用部分資源,則多出來的會被master收回);
  • master則根據framework答復的具體分配情況發送給slave,以使用framework的executor來按照分配的資源策略執行任務。
  • ????具體給出一個例子:某從節點想主節點匯報自己有<4 CPU , 8 GB Mem>的空閑資源,同時,主節點看到某個應用框架請求<3 CPU , 6 GB Mem>,就創建一個offer<slave #1, 4 CPU, 8GB> 把滿足的資源發給應用框架。應用框架(的調度器)收到offer后覺得可以接受,就恢復主節點,并告訴主機節點希望運行兩個任務:一個占用<1CPU ,2GB Mem>, 一個占用<2 CPU , 4GB Mem>。主節點收到任務信息后分配任務到從節點上運行(實際上是應用框架的執行器來負責執行任務)。任務執行結束后資源可以被釋放出來。剩余則資源還尅繼續分配給其他應用框架或任務。

    ????應用框架在收到offer后,如果offer不滿足自己的偏好(例如希望繼續使用上次的slave)則可以選擇拒絕offer,等待master發送新的offer過來。另外可以通過過濾機制加快資源的分配過程。

    ?

    總結

    以上是生活随笔為你收集整理的Mesos介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。