Bootstrap

基于 Docker 部署 ZooKeeper+Mesos+Marathon 群集(单节点)

前言

使用软件:VMware Workstation 16 Pro

ISO映像文件:CentOS 7

本教程将会给你展示,如何使用Docker容器,仅需一台主机,来迅速部署一个单节点的Mesos集群!


前置知识点简介

ZooKeeper:用来给集群服务维护配置信息及域名服务,并提供分布式同步和组服务,是是个分布式的,开源的协调服务(维护Mesos-Master的状态,确保高可用性);

Mesos:是Apache下的开源分布式资源管理框架(平台),被称为是分布式系统的内核,用来管理各master、slave的节点资源;

Mesos-Master:主要负责管理各个framework和slave,并将slave上的资源分配给各个framework,是整个系统的核心。master存在单点故障问题,mesos为此采用了zookeeper。

Mesos-Slave:负责接收并执行来自mesos-master的命令及管理节点上的mesos-task(比如:为各个executor分配资源)。

Framework:指外部的一种计算(调度)框架(比如marathon和hadoop),可通过注册的方式接入mesos,以便进行统一管理和资源分配。

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

Marathon:是Apache Mesos的容器编排框架,主要用于调度和运行常驻服务,可批量下发任务,创建容器;

如何理解Mesos与Marathon之间的关系呢,可以将Mesos类比于操作系统的内核,负责调度资源,而Marathon可以类比为服务管理系统,比如init或systemd,用来管理应用的状态信息。

Docker:是一个开源的应用容器引擎,可以实现“一次打包,到处运行”。


环境准备(Docker)

#首先,你需要一台安装好docker的主机!

#提供一键部署在线YUM源及最新docker脚本:

----
#!/bin/bash

#--在线YUM源仓库(aliyun)--

mkdir -p /etc/yum.repos.d/repos.bak
#“-p”表示若不存在该目录则创建。

mv -f /etc/yum.repos.d/* /etc/yum.repos.d/repos.bak/
#“-f”表示直接强制执行。

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#下载阿里云镜像仓库。

yum clean all && yum makecache fast
#清除软件包缓存并将服务器上的软件包信息缓存至本地,以提高搜索与安装软件的速度。

;