zoukankan      html  css  js  c++  java
  • mesos概览

    一. mesos架构组成

    1. mesos的顶层概念是framework,每个framework就是一个应用。framework有下面2邠组成
      (1)master上的scheduler:注册器,记录资源分配
      (2)agent上的executor:

    2. Resource Offer架构图:
      此处输入图片的描述
      (1)agent1向master搞搞自己有4CPU和4GB内存空闲,master调用allocation policy模块,告知framework1应该被分配的所有资源
      (2)master发送一个resource offer给framework1,这个resource offer给出了agent1上可用的资源
      (3)framework的schedule回应master,这两个任务分别在agent1上分配的资源(2cpu1gb,1cpu2gb)
      (4)master向agent发送开启任务的命令,并声明给这2个任务分配的资源。剩余的1cpu1gb内存可以分配给framework2

    3. agent恢复
      (1)当mesos-agen进程被杀死后,所有被他管理的executors/tasks也将被杀死
      (2)但是如果一个framework开启了checkpointing,则属于这个framework的executors会自动连接到新的mesos-agen
      (3)重连配置:
      agent重连模式配置

    4. mesos配置项
      mesos配置项

    二. Mesos Containerizer(容器化)

    1. 配置agent

      sudo mesos-agent 
        --containerizers=mesos 
        --image_providers=appc,docker 
        --isolation=filesystem/linux,docker/runtime
      

    (1)--image_providers:container images的类型
    (2)--isolation:隔离器,filesystem/linux:文件系统root权限,docker/runtime:docker运行时

    1. Test it Out!
      (1)启动master
      $ sudo mesos-master --work_dir=/tmp/mesos/master  --hostname=cloud.zetyun.com  
      

    (2)启动agent

    ```shell
    $ sudo GLOG_v=1 mesos-agent 
      --master=<MASTER_IP>:5050 
      --containerizers=mesos,docker 
      --isolation=docker/runtime,filesystem/linux 
      --work_dir=/tmp/mesos/agent 
      --image_providers=docker 
      --executor_environment_variables="{}"
      --executor_registration_timeout=60mins --resources='ports:[40001-44000]'
    ```
    

    (3)用mesos-execute启动docker的container

    ```shell
    # shell=fasle: 使用docker image的默认entrypoint和cmd
    $ sudo bin/mesos-execute 
      --master=<MASTER_IP>:5050 
      --name=test 
      --docker_image=library/redis 
      --shell=false
      
      
    # 验证:redis-client
    $ sudo docker run -ti --net=host redis redis-cli
    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379>
    ```
    
    1. Docker Support and Current Limitations
    2. 用docker作为任务镜像的设置方法
      (1)启动命令中加入docker参数:mesos-agent --containerizers=docker,mesos
      (2)每个agent节点都要装有docker cli

    三. Mesos master的高可用

    1. 配置
      (1)启动zookeeper集群
      (2)mesos-master开启参数:--zk=zk://host1:port1,host2:port2,.../path
      (3)mesos-agent开启参数 : --master=zk://host1:port1,host2:port2,.../path
  • 相关阅读:
    使用System.Web.Mail通过需验证的邮件服务器发送邮件(转) dodo
    报错显示"从客户端检测到有潜在危险的Request.Form 值" dodo
    setting页面出现的原理 dodo
    action的原理 dodo
    dnn一些公用方法分析 dodo
    缓存依赖概述 dodo
    在Intranet环境中保护.NETWeb应用程序方案(转) dodo
    dnn中的用户密码设置 dodo
    Application_Start事件中修改配置文件内容 dodo
    “System.Data.OleDb.OleDbException: 未指定的错误” dodo
  • 原文地址:https://www.cnblogs.com/moonlord/p/6672346.html
Copyright © 2011-2022 走看看