Apache Mesos 1.11.0 介绍与选型指南

基于 Apache 官方与 Attic 归档溯源的 Apache Mesos 1.11.0 介绍与选型指南:生命周期与退役时间线、核心架构、功能特性、官方快速上手引用、限制说明及与 Kubernetes、Nomad 的量化选型对比。

Apache Mesos2026/10/18

Apache Mesos 1.11.0 介绍与选型指南

一、信息基准

1.1 查询日期与版本依据

本文信息查询日期为 2026-10-18,全部信息取自 Apache 软件基金会 Attic 官方页面、Apache 官方归档发行目录与 GitHub 上的 apache/mesos 官方仓库,未进行本地安装与运行实测。需要首先声明的是:Apache Mesos 已于 2025 年 8 月经董事会决议退役,并于 2025 年 10 月完成向 Apache Attic 的迁移(Attic 编号 ATTIC-245),现属已停止维护的归档项目。其官网 mesos.apache.org 以只读归档形式保留,官方发行文件仅存于 archive.apache.org/dist/mesos/ 历史归档。

本项目最后一次正式版本为 1.11.0:GitHub 官方仓库中 1.11.0 标签由 committer 于 2020-11-24 打出("Tagging Mesos 1.11.0"),此后再无新版本发布。本文以 1.11.0 为介绍基准,并在选型对比章明确给出"不建议新项目采用"的结论。

1.2 版本与生命周期基准表

项目内容来源
最终版本1.11.0(tag 时间 2020-11-24)GitHub apache/mesos releases/tag/1.11.0
前一版本线1.10.0(2020-10-20 官方发布公告)mesos.apache.org/blog/mesos-1-10-0-released/(归档)
成为 Apache 顶级项目2013 年 6 月Attic 项目页(附董事会会议记录链接)
退役决议2025 年 8 月 20 日董事会会议Apache 董事会会议记录(Attic 页引用)
Attic 迁移完成2025 年 10 月Attic 项目页 / ATTIC-245
发行物现状仅存历史归档,标记为 UNSUPPORTEDarchive.apache.org/dist/mesos/
社区延续Attic 页列有外部延续项目 Clusterd(github.com/m3scluster/clusterd)Attic 项目页

1.3 官方来源清单

来源地址用途
Apache Attic 项目页https://attic.apache.org/projects/mesos.html退役时间线与只读资源索引
官网(只读归档)https://mesos.apache.org/架构文档与历史公告
历史发行归档https://archive.apache.org/dist/mesos/历史版本目录(0.12.1 至 1.11.0)
GitHub 官方仓库https://github.com/apache/mesos源码与最终标签
JIRA 问题追踪(归档)https://issues.apache.org/jira/browse/MESOS/历史 issue 记录
邮件列表归档https://mail-archives.apache.org/mod_mbox/mesos-dev/历史讨论记录

二、软件概述

本文介绍的是 Apache Mesos 的最终版本 1.11.0。Apache Mesos 是一个集群资源管理器,起源于 UC Berkeley 的研究项目(Nexus),2010 年进入 Apache 孵化器,2013 年 6 月成为顶级项目。其核心思想是把数据中心的 CPU、内存、磁盘、端口等资源从数百上千台机器上抽象为一个统一资源池,以"资源邀约(offer)"的二级调度机制分配给上层框架(Framework),使 Spark、Hadoop、Marathon、Kafka 等不同类型的工作负载可以共享同一物理集群。

Mesos 曾是大型互联网公司数据中心统一的资源调度底座(Twitter、Apple Siri 后端、Airbnb 等当年均为知名用户),但自 Kubernetes 生态成熟后,其社区活跃度持续下降,最终于 2025 年 8 月退役、10 月移入 Attic。GitHub 官方仓库 apache/mesos 的星标数据(shields.io 读取,2026-10-18)约为 5.4 千星。今天重新评估 Mesos 的价值主要在于:维护既有存量集群、理解二级调度与资源邀约模型的设计思想,以及从其兴衰中提炼基础设施软件的选型经验。本文结论先行:Mesos 已是归档项目,不建议任何新项目采用。

三、核心架构

3.1 Master / Agent 两级主从结构

Mesos 集群由 master 与 agent(旧称 slave)两类进程构成:master 负责收集各 agent 的可用资源、执行资源分配算法(默认为 DRF,主导资源公平性算法)并向框架发出资源邀约;agent 负责在本机执行框架提交的任务、上报资源状态并隔离执行环境。master 自身通过 ZooKeeper 实现 leader 选举与高可用,元数据与日志由 replication 层复制保存。

3.2 Framework、Scheduler 与 Executor

上层框架通过 Scheduler API 与 master 交互:调度器接收资源邀约,在邀约范围内决定启动哪些任务(Task),并把任务经 master 下发到对应 agent 上的执行器(Executor)运行。执行器分两类:框架自带的自定义执行器,与 Mesos 提供的通用命令执行器(command executor)。这种"框架接管调度语义、Mesos 只做资源仲裁"的二级调度模型,是 Mesos 与 Kubernetes 集中式控制器模型最本质的区别。

3.3 资源隔离与分配机制

agent 端通过操作系统级隔离原语(cgroups、POSIX 的磁盘与权限隔离等)为任务提供资源边界,支持 CPU、内存、磁盘、GPU 与网络端口等多种资源类型,并支持资源角色(role)、配额(quota)、保留(reservation)与权重(weight)等分配策略,实现多租户下的资源共享与优先级控制。

3.4 通信模型与 API

Mesos 提供两代 API:早期为基于 Protocol Buffers 的 HTTP 长轮询调用 API,1.x 时代演进为基于 HTTP 事件流的 v1 Scheduler/Operator API,并同步提供 C++/Java/Python 绑定。框架与 Mesos 的所有交互都围绕"邀约-接受-任务-状态回报"的事件模型展开,官方文档(现为 Attic 只读归档)对此有完整说明。

四、功能特性

4.1 多框架统一资源池

同一集群可同时运行 Spark 分析作业、Marathon 长服务、Chronos 定时任务、Kafka 流集群等异构负载,资源在框架间按 DRF 公平分配,显著提高整体利用率——这是 Mesos 设计的初衷与最大卖点。

4.2 精细的多租户资源治理

支持按角色划分资源、静态/动态保留、最低配额保障、框架权重,以及持久卷(persistent volume)与动态预留,可满足企业多团队共享集群时的隔离与优先级诉求。

4.3 高可用与运维接口

master 侧通过 ZooKeeper 完成自动 leader 选举;v1 Operator API 允许运维程序查询与操作 master/agent 状态;HTTP UI 提供集群总览。1.10.0 版本还引入了执行器域套接字与 v1 Operator API 性能优化等特性(官方发布公告)。

4.4 生态配套

围绕 Mesos 曾形成完整生态:DC/OS(基于 Mesos 的数据中心操作系统发行版)、Marathon(长服务编排)、Chronos(定时作业)、Elasticsearch/HDFS/Spark on Mesos 调度器等。随着项目退役,这些配套多数同步停更,生态已实质瓦解。

五、快速上手

以下最小示例引自官方文档站的 Getting Started 页面(https://mesos.apache.org/documentation/getting-started/ ,现随官网处于 Attic 只读归档状态;本文仅引用官方步骤,不进行本地实测)。

从源码构建(官方文档给出的 Linux/macOS 路径):

git clone https://github.com/apache/mesos.git
cd mesos && ./bootstrap
mkdir build && cd build
../configure
make -j
make check

构建完成后,按官方文档分别启动一个 master 与一个 agent:

./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos
./bin/mesos-agent.sh --master=127.0.0.1:5050 --work_dir=/var/lib/mesos

master 默认监听 5050 端口,浏览器访问该端口可查看 Web UI;官方文档随后演示了用 C++ 框架测试框架(test framework)向集群提交一个运行 shell 命令的任务:

./src/examples/java/test-framework 127.0.0.1:5050

需要强调:以上步骤仅作历史参考。由于项目已归档,官方归档目录(archive.apache.org/dist/mesos/)明确警示这些历史发行物"可能不受支持且不安全",生产环境不应部署。

六、适用场景与限制

6.1 适用场景

Mesos 现阶段仅存的合理使用场景有两类:其一,企业中仍然存活的存量 Mesos/DC/OS 集群的维护期运营,此时应以迁出为目标制定计划;其二,教学与研究场景,用于理解资源邀约式二级调度架构。若因特殊原因仍需延续 Mesos 体系,Attic 页面列出了社区维护的外部分支 Clusterd 供参考(其延续性与保障由分支维护方负责,非 Apache 官方项目)。

6.2 限制

其一,项目已退役:无安全补丁、无版本计划、官方支持渠道全部关闭,直接使用意味着承担全部安全与合规风险。其二,最后一次版本发布停留在 2020 年 11 月,其后五年的操作系统、内核与生态演进均无适配承诺。其三,社区与文档均冻结,新工程师的运维知识获取只能依赖归档资料。其四,原核心生态(DC/OS、Marathon 等)同步停更,无法支撑新的技术栈诉求。综上,新项目请直接考虑第七章对比中的现役方案。

七、同类选型对比

7.1 对比表

对比对象选取当前集群资源调度领域两个主流现役方案:Kubernetes 与 HashiCorp Nomad。版本数据于 2026-10-18 联网实查:Kubernetes 最新稳定补丁为 v1.37.1(GitHub apache 不适用;取自 kubernetes/kubernetes 官方 releases 列表,1.38 尚处 alpha 预发布);Nomad 最新版 v2.0.7(GitHub hashicorp/nomad releases,2026-09-17)。星标数据:Nomad 为 shields.io 读取(2026-10-18,约 17k);Kubernetes 仓库 shields 读取异常,采用第三方统计 stackindex.dev 的 128,318 星(其数据更新于 2026-10-17),标注为第三方统计值。许可信息取自各项目官方仓库声明。

维度Apache Mesos 1.11.0(已退役)Kubernetes v1.37.1Nomad v2.0.7
开源许可Apache-2.0Apache-2.0BUSL-1.1(HashiCorp 商业源码许可,源码可见)
GitHub 星标 + 最近发版约 5.4k;1.11.0(2020-11,此后无版本)约 12.8 万(第三方统计);v1.37.1 稳定线在维护(1.38 于 2026-09 进入 alpha)约 17k;v2.0.7(2026-09-17)
版本节奏2020 年后停更;2025-08 退役、2025-10 入 Attic每年约 3 个 minor 版本,每版约 12 个月补丁支持,月度补丁大版本演进(1.x→2.x),补丁月度级
兼容矩阵基于 C++ 构建系统,适配 2020 年前的 Linux/内核环境(官方归档文档)Linux/macOS/Windows 客户端;声明式 API 面向各类工作负载(官方文档)单二进制分发,支持 Linux/macOS/Windows 客户端(官方文档)

7.2 选型建议

Mesos 已进入 Apache Attic、自 2020 年起无任何新版本,不建议任何新项目采用:新建共享集群资源底座应首选 Kubernetes(生态与社区规模最大、事实标准),追求轻量单二进制、简洁运维与异构负载混调的团队可将 Nomad 作为备选,而存量 Mesos 集群应尽快制定向上述两者迁移的退出计划。

八、参考链接

名称地址
Apache Attic 项目页(退役时间线)https://attic.apache.org/projects/mesos.html
官网(只读归档)https://mesos.apache.org/
官方 Getting Started(归档)https://mesos.apache.org/documentation/getting-started/
历史发行归档目录https://archive.apache.org/dist/mesos/
GitHub 官方仓库https://github.com/apache/mesos
1.11.0 标签https://github.com/apache/mesos/releases/tag/1.11.0
1.10.0 发布公告(归档)https://mesos.apache.org/blog/mesos-1-10-0-released/
JIRA 归档https://issues.apache.org/jira/browse/MESOS/
Kubernetes 官方仓库https://github.com/kubernetes/kubernetes
Nomad 官方仓库https://github.com/hashicorp/nomad
Clusterd 延续项目(社区分支)https://github.com/m3scluster/clusterd