Monthly Archives: July 2014

单机版Mesos + Marathon + Deimos + Docker

最近关于Docker的Blog很多都提到了Mesos,确实是在复杂的应用环境下,如何管理集群是一个非常现实的问题。 本文就是参考各种资料,利用Vagrant+VirtualBox构建了一个单机版的Mesos环境。 1. 什么是Mesos? Apache Mesos是一个分布式系统的集群管理软件,它能为我们需要执行的任务在复杂系统中进行资源分配等工作。 Mesos主要由4个模块组成。 进行系统总体管理的Mesos master 为集群提供资源的Mesos slave 进行资源分配、调度(scheduling)的Framework 在Mesos slave上执行具体命令的Executor 关于Mesos的架构,可以参考这里的官方说明。 2. 什么是Marathon? Marathon是Mesos的一个Framework,用来执行需要长时间运行的任务。如果把Mesos比喻成数据中心的Kernel的话,那么Marathon就是它的init活着upstart守护进程。 它还具备HA,Health Checks,服务发现等功能。 3. 什么是Deimos? Deimos是一个Mesos的Docker接口(Plugin),Mesos的Executor,用来集成Docker容器,它是Mesos-Docker的替代产品。 4. 开始试验 4.1. 安装 如果你也用Vagrant的话,那么直接可以使用Provisioning脚本就可以了,我已经放到了GitHub上:https://github.com/liubin0329/mesos-marathon-deimos-vagrant 下载下来之后直接vagrant up就可以。 如果是手工自己安装,可以参考install.sh脚本。 4.2. 测试 启动服务之后,就可以使用例子中的JOB测试了。 为了启动速度,我们预先pull镜像下来。 然后就可以提交Job了。 这个job.json很简单,其意义也很容易理解。主要是cmd这个参数,这是一个简单的理由nc命令实现的Web服务器,放8090端口的时候只是打印出Hello World而已。 值得注意的是如果你的机器硬件不是特别好,需要注意提交job的时候设施合适的CPU和内存使用量,否则很可能导致因为申请不到资源而不能启动任务。 5.

Posted in Docker, Tech

无觅相关文章插件,快速提升流量