zoukankan      html  css  js  c++  java
  • mesos

    1. Mesos简介

    1.1 Mesos

    Apache Mesos 是一个分布式系统的管理软件,对集群的资源进行分配和管理。

    Mesos主要由以下几部分组成:

    Master 管理各Slave节点

    Slave 为集群提供资源

    Framework schedulerMaster请求资源,executorSlave上执行任务

    Slave节点上的每个executor是一个容器

    官方文档:

    http://mesos.apache.org/documentation/latest/architecture/

    http://mesos.apache.org/documentation/latest/getting-started/

    Mesos主服务器使用Zookeeper进行服务选举和发现。它有一个注册器记录了所有运行任何和从服务器信息,使用MultiPaxos进行日志复制实现一致性。

    Mesos有一个从服务器恢复机制,无论什么时候一个从服务器死机了,用户的任务还是能够继续运行,从服务器会将一些关键点信息如任务信息 状态更新持久化到本地磁盘上,重新启动时可以从磁盘上恢复运行这些任务(类似Java中的钝化和唤醒)

    1.2 Marathon

    Marathon Mesos的一个Framework,用来执行需要长时间运行的任务。如果把Mesos比喻成Kernel的话,那么Marathon就是它的守护进程Daemon

    它还具备HAHealth Checks,服务发现等功能。如果某个Docker进程崩溃,Marathon会重新启动同样的进程。

    1.3 Chronos

    Chronos本质上是cron-on-mesos,这是一个用来运行基于容器定时任务的Mesos框架。

    1.4 ZooKeeper

    ZooKeeper用于集群的管理,包括统一配置管理,选举Leader等。

    2. 安装Mesos

    本次测试环境的构成如下:

    Mesos Mastertest166

    Mesos Slave test166test167

    Marathon test166

    Chronos test166

    ZooKeeper test166

    2.1 安装准备

    在所有机器上,安装Mesos

     网上下载:mesosphere-el-repo-7-1.noarch.rpm

    在所有机器的/etc/hosts中,指定主机名

    [root@foundation60 pub]# vim /etc/hosts

    172.25.254.60   test166

    172.25.254.141  test167

     [root@docker1 ~]# vim /etc/hosts

    172.25.254.60   test166

    172.25.254.141  test167

    2.2 安装Master

    2.2.1 在Master上安装Mesos,Marathon,Chronos,ZooKeeper

    [root@foundation60 Desktop]# yum install -y mesosphere-zookeeper.x86_64

    已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager

    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

    软件包 mesosphere-zookeeper-3.4.6-0.1.20141204175332.centos7.x86_64 已安装并且是最新版本

    无须任何处理

    [root@foundation60 Desktop]# yum install -y chronos.x86_64

    已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager

    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

    软件包 chronos-2.4.0-0.1.20151007110204.el7.x86_64 已安装并且是最新版本

    无须任何处理

    [root@foundation60 Desktop]# yum install -y marathon.x86_64

    已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager

    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

    正在解决依赖关系

    --> 正在检查事务

    ---> 软件包 marathon.x86_64.0.1.4.3-1.0.649.el7 将被 安装

    --> 解决依赖关系完成

    依赖关系解决

    ================================================================================

     Package         架构          版本                     源                 大小

    ================================================================================

    正在安装:

     marathon        x86_64        1.4.3-1.0.649.el7        mesosphere         92 M

    事务概要

    ================================================================================

    安装  1 软件包

    总下载量:92 M

    安装大小:103 M

    Downloading packages:

    No Presto metadata available for mesosphere

    marathon-1.4.3-1.0.649.el7.x86 FAILED                                           

    http://repos.mesosphere.io/el/7/x86_64/RPMS/marathon-1.4.3-1.0.649.el7.x86_64.rpm: [Errno 12] Timeout on http://repos.mesosphere.com/el/7/x86_64/RPMS/marathon-1.4.3-1.0.649.el7.x86_64.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')

    正在尝试其它镜像。

    marathon-1.4.3-1.0.649.el7.x86 FAILED                                           

    http://repos.mesosphere.io/el/7/x86_64/RPMS/marathon-1.4.3-1.0.649.el7.x86_64.rpm: [Errno -1] 软件包与预期下载的不符。建议:运行 yum --enablerepo=mesosphere clean metadata

    正在尝试其它镜像。

    Error downloading packages:

      marathon-1.4.3-1.0.649.el7.x86_64: [Errno 256] No more mirrors to try.

    [root@foundation60 Desktop]# yum install -y marathon.x86_64

    已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager

    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

    正在解决依赖关系

    --> 正在检查事务

    ---> 软件包 marathon.x86_64.0.1.4.3-1.0.649.el7 将被 安装

    --> 解决依赖关系完成

    依赖关系解决

    ================================================================================

     Package         架构          版本                     源                 大小

    ================================================================================

    正在安装:

     marathon        x86_64        1.4.3-1.0.649.el7        mesosphere         92 M

    事务概要

    ================================================================================

    安装  1 软件包

    总下载量:92 M

    安装大小:103 M

    Downloading packages:

    如果服务器上之前装过jdk,升级到最新版本

    [root@foundation60 Desktop]# tar zxf jdk-7u79-linux-x64.tar.gz

    2.2.2 ZooKeeper设定

    本次配置的Master是单节点环境,ZooKeeper也是单点

    1

    2

    # vi /etc/mesos/zk

    zk://test166:2181/mesos

    2.2.3 启动服务

    1

    2

    3

    4

    # systemctl start zookeeper

    # systemctl start mesos-master

    # systemctl start marathon

    # systemctl start chronos

    2.3 安装Slave

    2.3.1 在Slave上安装Mesos,Docker

    [root@docker1 ~]# ls

    anaconda-ks.cfg                                       kubernetes-master.zip

    demo.tar                                              marathon-master.zip

    docker-engine-1.12.6-1.el7.centos.x86_64.rpm          mesos-1.2.0

    docker-engine-selinux-1.12.6-1.el7.centos.noarch.rpm  mesos-1.2.0.tar.gz

    etcd-3.1.0-2.el7.x86_64.rpm                           swarm.tar

    [root@docker1 ~]# docker version

    Client:

     Version:      1.12.6

     API version:  1.24

     Go version:   go1.6.4

     Git commit:   78d1802

     Built:        Tue Jan 10 20:20:01 2017

     OS/Arch:      linux/amd64

    Server:

     Version:      1.12.6

     API version:  1.24

     Go version:   go1.6.4

     Git commit:   78d1802

     Built:        Tue Jan 10 20:20:01 2017

     OS/Arch:      linux/amd64

    2.3.2 Docker相关设定

    1

    2

    # echo 'docker,mesos' > /etc/mesos-slave/containerizers

    # echo '5mins' > /etc/mesos-slave/executor_registration_timeout

    2.3.3 ZooKeeper设定

    1

    2

    # vi /etc/mesos/zk

    zk://test166:2181/mesos

    2.3.4 启动服务

    1

    2

    # systemctl start docker

    # systemctl start mesos-slave

  • 相关阅读:
    C#网络安全的一个不错的站点
    SP2已经发布,明天MS要发布一个Exchange的package
    Python学习足迹(3)
    用例子来彻底搞明白Virtual 和 非 virtual(C#)
    概述Web编程的安全极其防护措施(主要针对PHP,PERL)[]
    Java序列化
    Mybatis缓存及原理
    代理模式
    Spring的依赖注入
    Mybatis运行流程
  • 原文地址:https://www.cnblogs.com/yangying2017/p/6870388.html
Copyright © 2011-2022 走看看