Docker Mesos 项目

2020-02-21 17:59

DockerMesos项目

简介

Mesos是一个集群资源的自动调度平台,Apache 开源项目,它的定位是要做数据中心操作系统的内核。目前由 Mesosphere 公司维护,更多信息可以自行查阅 Mesos项目地址或 Mesosphere。

Mesos + Marathon 安装与使用

Marathon 是可以跟Mesos一起协作的一个 framework,用来运行持久性的应用。

安装

一共需要安装四种组件,mesos-master、marathon、zookeeper 需要安装到所有的主节点,mseos-slave 需要安装到从节点。

mesos利用zookper来进行主节点的同步,以及从节点发现主节点的过程。

源码编译

下载源码

gitclone https://git-wip-us.apache.org/repos/asf/mesos.git

安装依赖

#jdk-7

sudo apt-get update &&sudo apt-get install -y openjdk-7-jdk #autotools

sudo apt-get install -y autoconflibtool #Mesos dependencies.

sudo apt-get -y install build-essential python-dev python-boto libcurl4-nss-dev libsasl2-dev maven libapr1-dev libsvn-dev

编译&安装

$ cdmesos

# Bootstrap (Only required if building from git repository). $ ./bootstrap

$ mkdir build

$ cd build && ../configure $ make

$ make check && make install

软件源安装

以ubuntu系统为例。

安装Docker,不再赘述,可以参考 这里。

# Setup

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E56151BF DISTRO=$(lsb_release -is | tr'[:upper:]''[:lower:]') CODENAME=$(lsb_release -cs)

# Add the repository

echo\${DISTRO}${CODENAME} main\ | \\ sudo tee /etc/apt/sources.list.d/mesosphere.list

sudo apt-get -y update &&sudo apt-get -y install zookeeper mesos marathon

基于 Docker

将基于如下镜像:

? ? ?

ZooKeeper:https://registry.hub.docker.com/u/garland/zookeeper/

Mesos:https://registry.hub.docker.com/u/garland/mesosphere-docker-mesos-master/ Marathon:https://registry.hub.docker.com/u/garland/mesosphere-docker-marathon/

其中mesos-master 镜像将作为 master 和 slave 容器使用。 导出本地机器的地址到环境变量。

HOST_IP=10.11.31.7

启动Zookeepr容器。

docker run -d \\ -p 2181:2181 \\ -p 2888:2888 \\ -p 3888:3888 \\ garland/zookeeper

启动Mesos Master 容器。

docker run --net=\ \\ -p 5050:5050 \\

-e\${HOST_IP}\ \\

-e\${HOST_IP}\ \\

-e\${HOST_IP}:2181/mesos\ \\ -e\ \\

-e\ \\ -e\ \\

-e\ \\ -e\ \\ -d \\

garland/mesosphere-docker-mesos-master

启动 Marathon。

docker run \\ -d \\

-p 8080:8080 \\

garland/mesosphere-docker-marathon --master zk://${HOST_IP}:2181/mesos --zk zk://${HOST_IP}:2181/marathon

启动Mesos slave 容器。

docker run -d \\ --name mesos_slave_1 \\ --entrypoint=\ \\

-e\${HOST_IP}:2181/mesos\ \\ -e\ \\ -e\ \\

garland/mesosphere-docker-mesos-master:latest

接下来,可以通过访问本地 8080 端口来使用 Marathon 启动任务了。

配置说明

ZooKeepr

ZooKeepr是一个分布式应用的协调工具,用来管理多个 Master 节点的选举和冗余,监听在 2181 端口。

配置文件在 /etc/zookeeper/conf/ 目录下。

首先,要修改myid,手动为每一个节点分配一个自己的 id(1-255之间)。 zoo.cfg是主配置文件,主要修改如下的三行(如果你启动三个zk节点)。

server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888

主机名需要自己替换,并在 /etc/hosts 中更新。

第一个端口负责从节点连接到主节点的;第二个端口负责主节点的选举通信。

Mesos

Mesos的默认配置目录分别为:

? ? ?

/etc/mesos:共同的配置文件,最关键的是zk文件;

/etc/mesos-master:主节点的配置,等价于启动mesos-master 时候的默认选项; /etc/mesos-slave:从节点的配置,等价于启动mesos-master 时候的默认选项。

主节点

首先在所有节点上修改 /etc/mesos/zk,为主节点的 zookeeper 地址列表,例如:

zk://ip1:2181,ip2:2181/mesos

创建 /etc/mesos-master/ip文件,写入主节点监听的地址。 还可以创建 /etc/mesos-master/cluster 文件,写入集群的别名。 之后,启动服务:

sudo service mesos-master start

更多选项可以参考这里。 从节点

在从节点上,修改 /etc/mesos-slave/ip文件,写入跟主节点通信的地址。 之后,启动服务。

sudo service mesos-slave start

更多选项可以参考这里。

此时,通过浏览器访问本地 5050 端口,可以看到节点信息。

Marathon

启动 marathon 服务。

sudo service marathon start

启动成功后,在mesos的 web界面的 frameworks 标签页下面将能看到名称为 marathon 的框架出现。

同时可以通过浏览器访问 8080 端口,看到 marathon 的管理界面。


Docker Mesos 项目.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:学生军训工作总结报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: