「初级篇」跟我一起学docker(16)--单节点mesos集群
Mesos简介
什么是MESOS?
Apache Mesos 是一个集群管理器,提供了有效的、跨分布式应用或框架的资源隔离和共享,可以运行 Hadoop、MPI、Hypertable、Spark。
几个基本概念:
Mesos master:负责任务调度的节点。
Mesos slave:负责执行任务的节点。
Mesos 框架:需要由mesos调度的应用程序,比如hadoop、spark、marathon、chronos等。
Mesos实现了两级调度架构,它可以管理多种类型的应用程序。第一级调度是Master的守护进程,管理Mesos集群中所有节点上运行的Slave守护进程。集群由物理服务器或虚拟服务器组成,用于运行应用程序的任务,比如Hadoop和MPI作业。第二级调度由被称作Framework的“组件”组成。Framework包括调度器(Scheduler)和执行器(Executor)进程,其中每个节点上都会运行执行器。Mesos能和不同类型的Framework通信,每种Framework由相应的应用集群管理。上图中只展示了Hadoop和MPI两种类型,其它类型的应用程序也有相应的Framework。
Mesos Master协调全部的Slave,并确定每个节点的可用资源,聚合计算跨节点的所有可用资源的报告,然后向注册到Master的Framework(作为Master的客户端)发出资源邀约。Framework可以根据应用程序的需求,选择接受或拒绝来自master的资源邀约。一旦接受邀约,Master即协调Framework和Slave,调度参与节点上任务,并在容器中执行,以使多种类型的任务,比如Hadoop和Cassandra,可以在同一个节点上同时运行。
单节点mesos集群
安装依赖包
Centos7.1
1.下载rpm包
sudo rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm
2.安装
sudo yum -y installmesosphere-zookeeper
sudo yum -y install mesosmarathon
3.配置
设置/var/lib/zookeeper/myid作为唯一标识(1-255)讲的是单节点直接设置成1
配置mesos连接的zk,文件位置:/etc/mesos/zk(例如:zk://1.1.1.1:2181,2.2.2.2:2181,3.3.3.3:2181/mesos)
配置mesos master的法定值(一个节点挂了,立马另一个节点起起来,目前是1台机器,直接填写1;如果是5台机器,一台机器挂了,这里的数字应该填3,也就说3台机器认为一台机器可以当master这台机器太可以当master),文件位置:/etc/mesos-master/quorum
4.启动
启动zookeeper:service zookeeper start
启动mesos-master:service mesos-master start
启动mesos-slave:servie mesos-slavestart
5.验证
访问web页面:http://:5050
执行mesos命令:
MASTER=$(mesos-resolve `cat/etc/mesos/zk`)
mesos-execute --master=$MASTER--name="cluster-test" --command="sleep 5"
往期docker学习: