mesos 集群安装部署规划准备

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mesos 集群安装部署规划准备相关的知识,希望对你有一定的参考价值。

一:简介

Mesos诞生于UC Berkeley的一个研究项目,现已成为Apache Incubator中的项目。Mesos计算框架一个集群管理器,提供了有效的、跨分布式应用或框架的资源隔离和共享,可以运行Hadoop、MPI、Hypertable、Spark。使用ZooKeeper实现容错复制,使用Linux Containers来隔离任务,支持多种资源计划分配。


 

1: 总体架构

Apache Mesos由四个组件组成,分别是Mesos-master,mesos-slave,framework和executor。


mesos中的基本术语解释

(1)    Mesos-master:是整个系统的核心,负责管理接入mesos的各个framework(由frameworks_manager管理)和slave(由slaves_manager管理),并将slave上的资源按照某种策略分配给framework(由独立插拔模块Allocator管理)。


(2)    Mesos-slave:负责接收并执行来自mesos-master的命令、管理节点上的mesos-task,并为各个task分配资源。mesos-slave将自己的资源量发送给mesos-master,由mesos-master中的Allocator模块决定将资源分配给哪个framework,当前考虑的资源有CPU和内存两种,也就是说,mesos-slave会将CPU个数和内存量发送给mesos-master,而用户提交作业时,需要指定每个任务需要的CPU个数和内存量,这样,当任务运行时,mesos-slave会将任务放到包含固定资源的linux container中运行,以达到资源隔离的效果。


(3)    Framework:是指外部的计算框架,如Hadoop,Mesos等,这些计算框架可通过注册的方式接入mesos,以便mesos进行统一管理和资源分配。Mesos要求可接入的框架必须有一个调度器模块,该调度器负责框架内部的任务调度。当一个framework想要接入mesos时,需要修改自己的调度器,以便向mesos注册,并获取mesos分配给自己的资源, 这样再由自己的调度器将这些资源分配给框架中的任务,也就是说,整个mesos系统采用了双层调度框架:


(4)    Executor:执行器,安装到mesos-slave上,用于启动计算框架中的task。


Mesos架构图如下:



二:安装部署

1:部署环境介绍:


内核版本:

[[email protected] ~]# uname -a

Linux ctn-7-11.ptmind.com 3.10.0-327.4.4.el7.x86_64 #1 SMP Tue Jan 5 16:07:00 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


系统版本:

[[email protected] ~]# more /etc/redhat-release 

CentOS Linux release 7.2.1511 (Core) 


docker版本:

[[email protected] ~]# docker --version

Docker version 1.10.3, build 20f81dd


集群所有主机添加主机名

[[email protected] ~]# more /etc/hosts

---略---

172.16.7.12  ctn-7-12.ptmind.com ctn-7-12

172.16.7.13  ctn-7-13.ptmind.com ctn-7-13

172.16.7.14  ctn-7-14.ptmind.com ctn-7-14


为配置方便讲服务器ssh免密码登陆打通

[[email protected] workspace]# for ip in $(cat /workspace/mesoslist);do echo ------$ip-----;ssh [email protected]$ip hostname;done

------172.16.7.11-----

ctn-7-11.ptmind.com

------172.16.7.12-----

ctn-7-12.ptmind.com

------172.16.7.13-----

ctn-7-13.ptmind.com

------172.16.7.14-----

ctn-7-14.ptmind.com


2:安装前准备:


关闭防火墙

sudo systemctl stop firewalld

sudo systemctl disable firewalld



安装docker

sudo yum update

curl -sSL https://get.docker.com/ | sh


安装常用软件包

yum install git lrzsz wget elinks nc -y



添加yum源   (所有主机,安装其中一个即可)

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

rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-2.noarch.rpm

rpm -Uvh http://repos.mesosphere.io/el/7/noarch/RPMS/mesosphere-el-repo-7-3.noarch.rpm




3:集群服务部署规划:

服务器IP地址主机名安装服务

172.16.7.12ctn-7-12.ptmind.com mesos-master 、zookeeper、mesos-slave 、chronos 

172.16.7.13ctn-7-13.ptmind.com mesos-master  、zookeeper、mesos-slave 、

172.16.7.14ctn-7-14.ptmind.com mesos-master 、zookeeper、mesos-slave、marathon


安装软件版本介绍:

安装常用软件包             版本

 marathon              0.15.3-1.0.463.el7                            

 mesos-maser/mesos-slave             0.28.0-2.0.16.centos701406                    

 mesosphere-zookeeper  3.4.6-0.1.20141204175332.



安装mesos及相关软件 (所有主机)

yum -y install mesos  mesosphere-zookeeper 


mesos 集群安装部署规划、准备(1)

mesos 集群安装部署zookeeper(2)

mesos 集群安装部署mesos-master(3)

mesos 集群安装部署marathon(4)

mesos 集群安装部署chronos(5)

mesos 集群安装部署mesos-slave(6)

mesos 集群安装部署mesos-dns(7)

mesos 集群基础功能测试(8)

mesos 集群清理(9)


本文出自 “康建华” 博客,转载请与作者联系!

以上是关于mesos 集群安装部署规划准备的主要内容,如果未能解决你的问题,请参考以下文章

mesos 集群安装部署mesos-dns

mesos 集群安装部署mesos-master

mesos 集群安装部署zookeeper

mesos 集群安装部署chronos

mesos 集群安装部署marathon

部署redis集群