docker_practice/mesos/framework.md

90 lines
3.0 KiB
Go
Raw Normal View History

2019-01-01 02:30:49 +00:00
## 常见应用框架
应用框架是实际干活的可以理解为 Mesos 之上跑的 `应用`应用框架注册到 Mesos master 服务上即可使用
用户大部分时候只需要跟应用框架打交道因此选择合适的应用框架十分关键
Mesos 目前支持的应用框架分为四大类长期运行任务以及 PaaS大数据处理批量调度数据存储
随着 Mesos 自身的发展越来越多的框架开始支持 Mesos下面总结了目前常用的一些框架
### 长期运行的服务
#### [Aurora](http://aurora.incubator.apache.org)
利用 Mesos 调度安排的任务保证任务一直在运行
提供 REST 接口客户端和 webUI8081 端口
#### [Marathon](https://github.com/mesosphere/marathon)
一个私有 PaaS 平台保证运行的应用不被中断
如果任务停止了会自动重启一个新的相同任务
支持任务为任意 bash 命令以及容器
提供 REST 接口客户端和 webUI8080 端口
#### [Singularity](https://github.com/HubSpot/Singularity)
一个私有 PaaS 平台
调度器运行长期的任务和一次性任务
提供 REST 接口客户端和 webUI70998080 端口支持容器
### 大数据处理
#### [Cray Chapel](https://github.com/nqn/mesos-chapel)
支持 Chapel 并行编程语言的运行框架
#### [Dpark](https://github.com/douban/dpark)
Spark Python 实现
#### [Hadoop](https://github.com/mesos/hadoop)
经典的 map-reduce 模型的实现
#### [Spark](http://spark.apache.org)
Hadoop 类似但处理迭代类型任务会更好的使用内存做中间状态缓存速度要快一些
#### [Storm](https://github.com/mesos/storm)
分布式流计算可以实时处理数据流
### 批量调度
#### [Chronos](https://github.com/airbnb/chronos)
Cron 的分布式实现负责任务调度支持容错
#### [Jenkins](https://github.com/jenkinsci/mesos-plugin)
大名鼎鼎的 CI 引擎使用 mesos-jenkins 插件可以将 jenkins 的任务被 Mesos 集群来动态调度执行
#### [JobServer](http://www.grandlogic.com/content/html_docs/jobserver.html)
基于 Java 的调度任务和数据处理引擎
#### [GoDocker](https://bitbucket.org/osallou/go-docker)
基于 Docker 容器的集群维护工具提供用户接口除了支持 Mesos还支持 KubernetesSwarm
### 数据存储
#### [ElasticSearch](https://github.com/mesos/elasticsearch)
功能十分强大的分布式数据搜索引擎
一方面通过分布式集群实现可靠的数据库一方面提供灵活的 API对数据进行整合和分析ElasticSearch + LogStash + Kibana 目前合成为 ELK 工具栈
#### [Hypertable](https://code.google.com/p/hypertable)
高性能的分布式数据库支持结构化或者非结构化的数据存储
#### [Tachyon](http://tachyon-project.org/)
内存为中心的分布式存储系统利用内存访问的高速提供高性能