欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Apache Mesos
您可以在Wikipedia上了解到此条目的英文信息 Apache Mesos Thanks, Wikipedia. |
Apache Mesos 是一个分布式、集群管理系统和框架,被称为是分布式系统的内核。
目录 |
新闻
- Kubernetes on Mesosphere DC/OS now certified by CNCF
- DC/OS 1.10: One Platform for the Containerized Future
- 一些在Twitter和Airbnb中使用Mesos的工程师们一起创建了Mesosphere。(2013.04)
- 2010年12月,Mesos 进入了Apache孵化项目。2013年6月,Mesos成功从Apache孵化项目毕业,成为顶级项目。
简介
Mesos是分布式操作系统内核,Mesos是以与Linux内核同样的原则而创建的,不同点仅仅是在于抽象的层面。Mesos内核运行在每一个机器上,同时通过 API 为各种应用提供跨数据中心和云的资源管理调度能力。这些应用包括Hadoop、Spark、Kafka、Elasticsearch。还可配合框架 Marathon 来管理大规模的Docker等容器化应用。
Mesos特性:
- 可扩展到10000个节点;
- 使用 ZooKeeper 实现 Master 和 Slave 的容错;
- 支持 Docker 容器;
- 使用 Linux 容器实现本地任务隔离;
- 多资源调度能力(内存,CPU、磁盘、端口);
- 提供 Java,Python,C++等多种语言 APIs;
- 通过 Web 界面查看集群状态;
- 新版本将支持更多功能。
指南
OS X
brew install mesos
演示
安装一个 mesos-demo 虚拟机
$ wget http://downloads.mesosphere.io/demo/mesos.box // 注: 此文件有2.8G $ vagrant box add --name mesos-demo mesos.box $ git clone https://github.com/mesosphere/RENDLER.git $ cd RENDLER $ vagrant up http://10.141.141.10:5050/ // Mesos http://10.141.141.10:8080 // Marathon $ vagrant ssh $ cd hostfiles/python $ python rendler.py http://mesosphere.io 127.0.1.1:5050 42 <Ctrl+C> to stop... $ cd hostfiles $ bin/make-pdf
Debian
语言/软件
Scala
Python
Erlang
Akka
- akka-mesos Non-blocking driver for Apache Mesos based on Akka.
Redis
RabbitMQ
Kafka
Elasticsearch
Spark
- DC/OS Apache Spark
- Spark on Mesos
- Running Apache Spark on Mesos
- Apache Zeppelin Deploying a Load-Balanced Data Pipeline
Storm
Hadoop
Cassandra
Jenkins
Gitlab
Marathon
- Marathon on Mesos
- Marathon-LB is based on HAProxy, a rapid proxy and load balancer.Marathon-LB package
Kubernetes
Chronos
Singularity
Aurora
Apache Aurora是一个Mesos框架,管理长期运行的服务和任务计划。
RENDLER
Prometheus
人工智能
- Distributed TensorFlow on Any Infrastructure with Mesosphere DC/OS
- Deep Learning with PyTorch and GPUs on DC/OS
- TFMesos
- Apache SINGA on Mesos
发行版
DC/OS指南
安装
vagrant plugin install vagrant-hostmanager git clone https://github.com/dcos/dcos-vagrant cd dcos-vagrant cp VagrantConfig-1m-1a-1p.yaml VagrantConfig.yaml vagrant up 或 vagrant up --debug
/etc/hosts
192.168.65.90 m1.dcos 192.168.65.111 a1.dcos 192.168.65.60 p1.dcos 192.168.65.50 boot.dcos ssh [email protected] http://m1.dcos/ ci/dcos-install-cli.sh
常见问题,boot超时,调整config.vm.boot_timeout数值,修改Vagrantfile文件。
Vagrant.configure("2") do |config| config.vm.boot_timeout = 600
An error occurred in the underlying SSH library that Vagrant uses.The error message is shown below. In many cases, errors from this library are caused by ssh-agent issues. Try disabling your SSH agent or removing some keys and try again.
升级VirtualBox到5.1.x以上,然后
vagrant destroy vagrant up
VirtualBox: mount.vboxsf: mounting failed with the error: No such device
vagrant plugin install vagrant-vbguest vagrant vbguest
[boot] GuestAdditions versions on your host (5.1.30) and guest (5.1.18) do not match.
vagrant plugin install vagrant-vbguest 或 vagrant vbguest --do install vagrant box update
访问master IPs的Private SSH Key在/Users/huihoo/.vagrant.d/insecure_private_key 或 dcos-vagrant/.vagrant/dcos/private_key_vagrant
cp <path-to-key> genconf/ssh_key && chmod 0600 genconf/ssh_key
运行 sudo bash dcos_generate_config.sh --postflight 出现的错误:detect_ip returned stderr: Device "eth0" does not exist
CentOS 7.x系统中网卡命名规则被重新定义,可能会是”enp0s8”等,CentOS下找不到eth0设备的解决方法。
cd /etc/sysconfig/network-scripts/ sudo touch ifcfg-eth0 样本 NAME=eth0 DEVICE=eth0 IPADDR=192.168.65.111 NETMASK=255.255.255.0 NETWORK=192.168.65.0 GATEWAY=192.168.65.1 BROADCAST=192.168.65.255 ONBOOT=yes USERCTL=yes BOOTPROTO=static HWADDR=08:00:27:c1:f9:cc
Unable to login to your DC/OS cluster. Clusters must be connected to the internet.
命令行
$ dcos marathon app list $
Universe
安装、使用Mesosphere Universe包仓库。
$ wget https://downloads.mesosphere.com/universe/public/local-universe.tar.gz // 有9.1G $ docker load < local-universe.tar.gz ... $ dcos package repo add local-universe http://m1.dcos:8082/repo ...
项目
- DC/OS UI
- DC/OS Docker
- Mantl
- Ochopod + Mesos + Marathon + CLI == PaaS
- Vamp - The Very Awesome Microservices Platform, written in Scala, with some parts in Go. Vamp package
文档
- Mesos,数据中心操作系统的核心
- Apache Mesos as an SDK for Building Distributed Frameworks
- Apache Mesos + Apache YARN = Myriad
- Mesos: Elastically Scalable Operations, Simplified.
用户
- Apple、Cisco、eBay、PayPal、Netflix、Twitter、Uber、Airbnb、微博、小米
- Apple 的 Siri 平台运行Mesos之上,拥有几千个节点。(2015.04)
- Twitter的支撑架构:扩展网络与存储并提供服务
- 从HashiCorp Nomad对上百万容器进行调度所学到的经验
- Netflix使用Apache Mesos打造分布式资源调度系统
- Mesos在去哪儿网的实践之路,随着业务线日志的逐步接入,日志平台已经增长成为单日处理60亿条日志/6TB数据的庞大平台。
- Autodesk基于Mesos的可扩展事件系统
- 知乎万级规模容器平台架构和实战
- 中国移动浙江公司数据中心操作系统(DCOS)实践
- 从太平洋保险DCOS实践看传统企业的魅力变革
- Force12.io为Apache Mesos创建“微伸缩”框架
- Verizon 成功演示了在90秒内使用Mesos和Mesosphere的Marathon框架启动 50,000 个容器。(2015.08)
- More organizations using Mesos