将apache aurora与dcos集成

628mspwn  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(422)

只有两个mesos框架支持gpu资源:marathon和aurora。我想推出批量作业的mesos代理与gpu资源。所以,只有极光支持这样的工作。但目前官方并不支持aurora。我尝试过整合,但没有成功。dcos mesos大师不注册极光框架,但参展商为极光创建记录。我没能在梅索斯大师的日志里找到任何关于极光的记录。以下是我的aurora调度程序配置:


# !/bin/bash

 GLOG_v=0
 LIBPROCESS_PORT=8083
 #LIBPROCESS_IP=127.0.0.1

 JAVA_HOME=/opt/mesosphere/active/java/usr/java

 JAVA_OPTS="-server -Djava.library.path='/opt/mesosphere/lib;/usr/lib;/usr/lib64'"

 PATH=$PATH:/opt/mesosphere/bin

 MESOS_NATIVE_JAVA_LIBRARY=/opt/mesosphere/lib/libmesos.so

 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mesosphere/lib

 JAVA_LIBRARY_PATH=$JAVA_LIBRARY_PATH:/opt/mesosphere/lib

 # Flags control the behavior of the Aurora scheduler.
 # For a full list of available flags, run /usr/lib/aurora/bin/aurora-scheduler -help
 AURORA_FLAGS=(
    # The name of this cluster.
   -cluster_name='My Cluster'

    # The HTTP port upon which Aurora will listen.
   -http_port=8088

    # The ZooKeeper URL of the ZNode where the Mesos master has registered.
    -mesos_master_address=zk://master_ip1:2181,master_ip2:2181,master_ip3:2181/mesos

    # The ZooKeeper quorum to which Aurora will register itself.
    -zk_endpoints=master_ip1:2181,master_ip1:2181,master_ip1:2181

    # The ZooKeeper ZNode within the specified quorum to which Aurora will register its
    # ServerSet, which keeps track of all live Aurora schedulers.
    -serverset_path='/aurora/scheduler'

    # Allows the scheduling of containers of the provided type.
    -allowed_container_types='DOCKER,MESOS'

    -allow_docker_parameters=true
    -allow_gpu_resource=true
    -executor_user=root
    ### Native Log Settings ###

    # The native log serves as a replicated database which stores the state of the
    # scheduler, allowing for multi-master operation.

    # Size of the quorum of Aurora schedulers which possess a native log.  If running in
    # multi-master mode, consult the following document to determine appropriate values:
    #
    # https://aurora.apache.org/documentation/latest/deploying-aurora-scheduler/#replicated-log-configuration
    -native_log_quorum_size=2
    # The ZooKeeper ZNode to which Aurora will register the locations of its replicated log.
    -native_log_zk_group_path='/aurora/replicated-log'
    # The local directory in which an Aurora scheduler can find Aurora's replicated log.
    -native_log_file_path='/var/lib/aurora/scheduler/db'
    # The local directory in which Aurora schedulers will place state backups.
    -backup_dir='/var/lib/aurora/scheduler/backups'

   ### Thermos Settings ###

   # The local path of the Thermos executor binary.
    -thermos_executor_path='/usr/bin/thermos_executor'
   # Flags to pass to the Thermos executor.
    -thermos_executor_flags='--announcer-ensemble 127.0.0.1:2181')
mbzjlibv

mbzjlibv1#

我成功地在dc/os1.8上启动了aurora框架。由于mesos和java被嵌入到ds/os中,并且有定制的配置,特别是路径,我必须用docker隔离aurora。因此,您可以在我的docker repo中找到aurora组件的docker映像:aurora调度程序,aurora执行器。这也允许我或其他人创建一个宇宙包。
在dc/os上部署aurora scheduler的步骤:
创建文件夹 /var/lib/aurora 在每个dc/os代理上
使用下一个json在所有dc/os代理上启动aurora executor:

{
  "id": "/aurora/aurora-executor",
  "env": {
    "MESOS_ROOT": "/var/lib/mesos/slave"
  },
  "instances": 20,
  "cpus": 1,
  "mem": 128,
  "disk": 0,
  "gpus": 0,
  "constraints": [
    [
      "hostname",
      "UNIQUE"
    ]
  ],
  "container": {
    "docker": {
      "image": "krot/aurora-executor",
      "forcePullImage": true,
      "privileged": false,
      "network": "HOST"
    },
    "type": "DOCKER",
    "volumes": [
      {
        "containerPath": "/var/lib/mesos/slave",
        "hostPath": "/var/lib/mesos/slave",
        "mode": "RW"
      },
      {
        "containerPath": "/var/lib/aurora",
        "hostPath": "/var/lib/aurora",
        "mode": "RW"
      }
    ]
  }
}

注意。套 "instances" 代理数量。
第二章。aurora executor部署的替代方法(应在每个dc/os代理上执行):

sudo yum install -y python2 wget
 wget -c https://apache.bintray.com/aurora/centos-7/aurora-executor-0.16.0-1.el7.centos.aurora.x86_64.rpm
 rpm -Uhv --nodeps aurora-executor-0.16.0-1.el7.centos.aurora.x86_64.rpm

进行编辑以添加 --mesos-root 导致如下结果的标志:

grep -A5 OBSERVER_ARGS /etc/sysconfig/thermos
OBSERVER_ARGS=(
   --port=1338
   --mesos-root=/var/lib/mesos/slave
   --log_to_disk=NONE
   --log_to_stderr=google:INFO
)

使用下一个json启动aurora调度程序(建议使用3个或更多示例进行容错):

{
      "id": "/aurora/aurora-scheduler",
      "env": {
        "CLUSTER_NAME": "YourCluster",
        "ZK_ENDPOINTS": "master.mesos:2181",
        "MESOS_MASTER": "zk://master.mesos:2181/mesos",
        "QUORUM_SIZE": "2",
        "EXTRA_SCHEDULER_ARGS": "-allow_gpu_resource=true"
      },
      "instances": 3,
      "cpus": 1,
      "mem": 1024,
      "disk": 0,
      "gpus": 0,
      "constraints": [
        [
          "hostname",
          "UNIQUE"
        ]
      ],
      "container": {
        "docker": {
          "image": "krot/aurora-scheduler",
          "forcePullImage": true,
          "privileged": false,
          "network": "HOST"
        },
        "type": "DOCKER",
        "volumes": [
          {
            "containerPath": "/var/lib/aurora",
            "hostPath": "/var/lib/aurora",
            "mode": "RW"
          }
        ]
      }
}

注意。 -allow_gpu_resource=true 启用gpu支持。aurora调度器可以使用环境变量进行配置。有关详细信息,请参阅文档。

相关问题