初识数据中心Mesos

Docker的飞速发展已经无需多言了,怎么管理Docker,编排Docker的也存在最够多的工具,但是总觉得没有触及痛点,所以才有数据中心mesos存在的必要,那么mesos是什么,以及mesos能做什么呢,会在本文简要介绍。

这里先放一张自己对于mesos的理解以及使用的思路,如有偏颇还望指正。

根据上图,我们将物理机全部纳入mesos这个发布系统里面,这样是个我们把手上的物理机资源全部抽象到了一起,这样我们就不用担心CPU,内存,硬盘的使用情况,因为到某个应用需要更多的资源的时候,我们可以直接动态添加,我想光是这点就足够让我们跃跃欲试了吧,更重要的是我们不需要采购硬件配置一样的服务器。

前面这点内容当然不足够说清mesos是什么,能做什么,在笔者看来,想要了解一样东西纸上谈兵当然是万万不能的,所以让我们先把环境搭起来,用起来,这样我想才能更加深刻的了解Mesos。

安装:

系统环境:Centos7

mesos集群

172.16.51.72  mesos-master

172.16.51.72  mesos-slaver

172.16.51.71 mesos-slaver

172.16.51.73 mesos-slaver

zookeeper集群

172.16.51.72  1

172.16.51.71  2

172.16.51.73  3

注:iptables,selinux什么的当然是关闭的

安装方式rpm包

rpm源

rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpm

安装mesos,marathon,zookeeper

yum -yinstall mesos marathon
yum -yinstall mesosphere-zookeeper

配置zookeeper集群

72,71,73 的myid依次配置为1,2,3,myid文件默认不存在

cat /var/lib/zookeeper/myid
1

然后配置zookeeper配置文件

每个zookeeper节点加入下面三行

cat /etc/zookeeper/conf/zoo.cfg
server.1=172.16.51.72:2888:3888
server.2=172.16.51.71:2888:3888
server.3=172.16.51.73:2888:3888

然后依次启动zookeeper

systemctlstart zookeeper

查看是否监听

lsof  -i:2181

为mesos配置zookeeper信息(无论master还是slaver都要配置)

zk://172.161.51.72:2181,172.16.51.71:2181,172.16.51.73:2181/mesos

然后启动master端

service mesos-master restart

启动slaver端

service mesos-slave restart

很简单有木有。

然后验证mesos,marathon是否安装成功

访问mesos-master主机的5050及8080端口,如下图

注意:如果是第一安装完成,对应的web页面应该是没有任何任务的,比如上面的test

到这里可能就有疑问了,然后呢?

首先看看Mesos的架构。

根据上面的示意图再结合我们的已安装环境,我们建立了三个mesos-slaver节点,一个mesos-master端节点(其实mesos-master端也可以做一个集群)

之于上面的Hadoop,MPI scheduler我们先放一边。

zookeeper用于服务发现(这里我们做成集群模式,是为了高可用),所以无论是mesos-slaver或者mesos-master节点都需要设置zookeeper的配置信息,通过zookeeper,mesos-master会问mesos-slaver是哪些主机以及它的相关信息是什么,反之亦然。

然后mesos-master会只会mesos-slaver它们需要做什么,怎么知道mesos-slaver能做什么呢?

我们看下图。

根据上图,mesos-slaver会告诉mesos-master端自己有多少资源,比如多少cpu,内存等,然后master-slaver决定怎么分配资源,怎么分配任务,那么我们怎么给mesos索要资源及发布任务呢,那么我们就得知道什么是框架了,下面讲解两个主要的框架,marathon,chronos。

什么是框架呢?就是用来索要源的,看看具体实例,你就会有一定了解了。

Marathon是建立在Mesos上的私有PaaS平台。它能自动处理硬件或者软件故障,并确保每个应用程序都"永远在线"(比如,你在marathon中设置是某应用三个实例,那么其中一个挂掉,marathon会立即在启一个实例,维持在三个实例),个人觉得跟kubernetes有点重叠的意思,当然kubernetes更强大,因为编排的能力更强。

默认监听端口:8080

主要功能:创建常驻任务,任务扩建等(比如实例的数量增加)

创建JOB

 如上图,我们创建一个ID为test的任务,并且分配了0.1的CPU(默认),16MB内存(默认),OMB硬盘(默认),一个实例(默认),然后这个实例执行的命令python-m SimpleHTTPServer,然后点击“create”即可,创建成功后,mesos-master就是随机让mesos-slaver就是创建一个实例。

为了方便验证,我们可以将实例个数选为3,然后查看是否监听。

然后验证一下。

注意:名字随意,但是不跟现有的ID名冲突即可

然后看一看基本设置

ID设置

名字随意,不跟现有的ID名冲突即可

CPU,内存,硬盘,实例个数   (自定义)

CPU,内存,硬盘,实例个数   (自定义)

执行的command

比如用Python起一个简单的web服务

python-m SimpleHTTPServer

Docker容器的相关设置

网络,数据卷等

环境变量如

JAVA_HOME= xxx

标签

自定义标签,用于分类

健康监控

有command,http,tcp三个方式检测

其他选项(optional settings)

如端口

还有最后一个限制constraint

比如限制哪个节点启动这个任务

创建成功,后点击具体任务,有相关信息,如主机端口等

mesos-master端也有相应job信息

下面是marathon的相关信息

然后主要的三个动作,分别是扩展(比如一个实例到三个实例),重启,挂起,销毁

注:因为里面的test任务,写的命令是python-m SimpleHTTPServer  所以都默认监听8000端口,因为只有三个节点,所以最多启三个实例,虽然可以将scale(规模)设置成3以上但是会不断的启新实例,然后不断的失败,并一直启。

所以启三个以上的实例应该保证占用的端口不一样

比如端口随机

python-m SimpleHTTPServer $PORT

因为创建任务是支持Docker的,我们不妨想象一下,我们能够直接将使用已有的docker环境中镜像。

chronos是一个分布式作业调度程序,支持复杂的拓部结构。它可以成为 cron 的替代
品,提供更好的容错性。

chronos就是个计划任务,不过分布式而已

安装

yum -y install chronos

servicechronos start

 

默认监听4400

 

比如

cat /tmp/test2.txt
Sat Dec26 17:08:10 CST 2015

 

结语:既然是初始,那么久先到这里吧,笔者也还在研究中。

时间: 2024-10-12 17:05:18

初识数据中心Mesos的相关文章

点将台:2015 年最佳开源数据中心和云计算软件

点将台:2015 年最佳开源数据中心和云计算软件 2015-09-18 开源中国 知名 IT 杂志<InfoWorld>评选出了年度最佳开源平台.基础设施.管理和编排软件. 最佳开源数据中心和云计算软件   你可能已经听说过 Docker 容器这项新技术.开发人员很喜欢它,因为可以用脚本来构建容器,添加一层层服务,并直接从 MacBook Pro 将它们推送到服务器进行测试.容器之所以切实可行,是因为它们超轻量级,不像那些现在已经过时的虚拟机.容器以及交付服务的其他轻量级方法正在改变操作系统.

双活数据中心 是什么

出于灾备(Disaster Recovery)的目的,一般都会建设2个(或多个)数据中心.一个是主数据中心用于承担用户的业务,一个是备份数据中心用于备份主数据中心的数据.配置.业务等. 主备数据中心之间一般有三种备份方式. 的情况下,只有主数据中心承担用户的业务,此时备数据中心对主数据中心进行实时的备份,当主数据中心挂掉以后,备数据中心可以自动接管主数据中心的业务,用户的业务不会中断,所以也感觉不到数据中心的切换. 的情况下,也是只有主数据中心承担业务,但是备用数据中心不会对主数据中心进行实时备

绿色数据中心节能,值得探究的八大秘密

随着企业信息化建设的迅速发展,数据中心建设越来越重要,将直接影响企业信息系统的建设和应用效果.根据IDC的估算,从运行成本控制的角度看,在IT行业中,能源消耗成本已经达到企业硬件采购成本的25%.而数据却正以52%的复合年均增长率不断攀升.当企业面对不断变化的业务压力,以及呈指数级快速增长的数据时,需要对数据中心环保.节能方面的特性予以足够的考虑和重视. 如何在确保数据高度安全和高度可靠的前提下,最大限度地保证企业在数据中心建设中能够减少浪费和降低无效投入,打造一个真正"绿色节能"的数

Netscaler GSLB的主备数据中心解决方案

Netscaler GSLB的主备数据中心解决方案 GSLB的主.备数据中心解决方案思路: 其实这只是多数据中心的一个特例而已,多数据中心方案中写location为: NSGEO1.0 Context=custom Qualifier1=ispname Start "192.168.1.50","192.168.1.60","IDC1" "192.168.1.200","192.168.1.254",&qu

SDN与NFV技术在云数据中心的规模应用探讨

Neo 2016-1-29 | 发表评论 编者按:以云数据中心为切入点,首先对SDN领域中的叠加网络.SDN控制器.VxLAN 3种重要技术特点进行了研究,接下来对NFV领域中的通用服务器性能.服务链两类关键问题展开具体分析.最后,阐述了前期开展的SDN/NFV技术试验工 作进展及相关结论,并对VDC应用产品进行了展望. 1 引言 伴随着云计算技术的兴起,数据趋于大集中,传统电信系统网络架构成为阻碍云数据中心发展的巨大桎梏.为满足数据中心在云计算环境下的虚拟网络资源调度和共享需求,未来的数据中心

[运维] 第一篇:数据中心运维模型之我见

从实际经验来看,每个企业的数据中心运维上都不会是十全十美的,因为毕竟企业业务发展是迅速的,对IT的要求相应也是也是越来越高,越来越复杂,所以无论是在运维团队架构上,还是在具体的管理层面上,尽管现实空间有限,但都有很多值得调整的空间和余地,且听我道来!         先看看这张运维模型,了解一下企业运维到底包括了那些东西:        企业运维包括了四象限:人员.管理.工具和业务.对于人员,通常企业有两种结构:一种是功能性驱动,比如机房维护团队.IT基础架构运维团队.应用维护团队等:另一种是管

[运维] 第二篇:数据中心运维IT运维项目建设之我见

运维项目千千万,今天重点讲一下IT服务管理的项目,也是在过去几年各个企业数据中心都在建设的东东:ITIL.综合监控和运维自动化.先看ITIL逻辑架构图:         这是根据ITIL最佳实践理论和企业运维实际结合的ITIL逻辑架构图.最底层是基础架构管理层,在架构管理层运维人员通过人肉或工具对IT环境进行管理.综合监控平台的建设基本上在这一层,综合监控平台的目标是"全监控和全覆盖"(关心综合监控的朋友可以看我其他的监控帖子).监控的核心是什么?综合监控管理平台.通过综合监控管理平台

[运维] 第三篇:漫谈数据中心运维自动化

运维自动化是从2010年以后起来的一个运维需求,10年之前,运维项目主要集中在监控和ITIL流程上,当时也有BMC Control-M等产品在推,但是客户接受程度和影响力不如监控和流程.10年之后,运维自动化提上日程,建行开始招运维自动化的标,IBM.BMC.HP都纷纷参与,测了三轮,最后HP opsware中标,只能说一句厉害!工商银行也在自己组织服务商做自己特色的运维自动化平台,做了3.4年,基本成型,服务商也做出了自己的运维自动化产品,正式推向市场.当时运维自动化的主要功能是五项:自动化巡

[运维] 第五篇:数据中心改善运维,ITIL与ISO20000如何选择?

企业数据中心需要改善运维现状,提高运维水平,更好的为业务服务,ITIL肯定是不二的选择,因为毕竟ITIL是运维方面的最佳实践.但是ITIL只是告诉你如何才能提高运维能力,但是并没有告诉你怎么才能在你的企业里做好ITIL的落地工作,进而真正对运维发挥效果,所以具体怎么做,还是得你按照ITIL的理念去结合企业实际情况去落地.落地的时候你可能会有两个选择,是通过ITIL流程落地呢?还是去通过ISO20000认证呢?          因为本文不是讲ITIL和ISO20000的帖子,所以具体的讲解可以通