iT邦幫忙

2021 iThome 鐵人賽

DAY 30
0
DevOps

中台化轉型系列 第 30

大數據平台:叢集管理

  • YARN
    YARN(Yet Another Resource Negotiator) 是 Hadoop 生態圈中的叢集管理系統,負責資源管理並具有高度擴展性,支援 Hive、Spark、Storm、Flink、TensorFlow 等運算框架。

當使用者向 YARN 送出了 MapReduce 作業,Resource Manager 中的 App Manager 會從 Node Manager 要求特定數量的 Container,隨後將這些 Container 交由 App Master 來管理應並用於作業執行。
* Resource Manager
負責叢集的資源管理和資源分配,資源單位稱為 Container,包含了記憶體、CPU、硬碟空間等資源分配。
* Scheduler
負責利用「調度演算法」來提升資源使用率。
* App Manager
負責接收使用者作業要求分配 Container 及管理 App Master。
* App Master
負責作業的實際執行,啟動和監控 Container 運行,各種運算框架(Hive、Spark、Storm、Flink、TensorFlow )都會實作自己的 App Master。
* Node Manager
負責 Cantainer 管理及週期性的向 Resource Manager 提供所擁有的 Container 狀態。

  • Kubernetes
    K8S 提供了完整的叢集管理功能 ─ 容器佈署、滾動更新(Rolling Update)、水平自動擴展(Horizontal Pod Autoscaler)、服務發現、附載平衡、效能監控、服務日誌(Server log)、認證授權。
    • Master
      負責叢集調度管理。
      • API Server:提供 RESTful 回應用戶請求。
      • etcd:鍵值(Key-value)資料庫儲存叢集資料及組態管理。
      • Scheduler:利用調度演算法優化作業分配。
      • Controller:負責叢集作業功能 ─ 服務發現、附載平衡、水平擴衝、故障轉移、垃圾收集。
    • Worker
      負責節點管理。
      • Kubelet:負責與 Master 通訊以提供容器管理、容器鏡像、運行狀態。
      • Proxy:提供網路代理以提供附載平衡功能。
      • Container:負責容器模組支援 Docker 或 RKT 等容器運作。

上一篇
大數據平台:訊息中介
系列文
中台化轉型30

尚未有邦友留言

立即登入留言