我正在使用mesos 1.0.1。我添加了一个具有新角色的代理 docker_gpu_worker
. 我用这个角色注册了一个框架。该框架没有收到任何报价。使用其他角色的其他框架(相同的java代码)运行良好。我没有重新启动三个mesos大师。有人知道哪里出了问题吗?
在 master/frameworks
,我看到了我的框架:
"{
"id": "fd01b1b0-eb73-4d40-8774-009171ae1db1-0701",
"name": "/data4/Users/mikeb/jobs/999",
"pid": "scheduler-77345362-b85c-4044-8db5-0106b9015119@x.x.x.x:57617",
"used_resources": {
"disk": 0,
"mem": 0,
"gpus": 0,
"cpus": 0
},
"offered_resources": {
"disk": 0,
"mem": 0,
"gpus": 0,
"cpus": 0
},
"capabilities": [],
"hostname": "x-x-x-x.ec2.internal",
"webui_url": "",
"active": true,
"user": "mikeb",
"failover_timeout": 10080,
"checkpoint": true,
"role": "docker_gpu_worker",
"registered_time": 1507028279.18887,
"unregistered_time": 0,
"principal": "test-framework-java",
"resources": {
"disk": 0,
"mem": 0,
"gpus": 0,
"cpus": 0
},
"tasks": [],
"completed_tasks": [],
"offers": [],
"executors": []
}"
在 master/roles
我看到了我的角色:
"{
"frameworks": [
"fd01b1b0-eb73-4d40-8774-009171ae1db1-0701",
"fd01b1b0-eb73-4d40-8774-009171ae1db1-0673",
"fd01b1b0-eb73-4d40-8774-009171ae1db1-0335"
],
"name": "docker_gpu_worker",
"resources": {
"cpus": 0,
"disk": 0,
"gpus": 0,
"mem": 0
},
"weight": 1
}"
在 master/slaves
我看到我的经纪人:
"{
"id": "fd01b1b0-eb73-4d40-8774-009171ae1db1-S5454",
"pid": "slave(1)@x.x.x.x:5051",
"hostname": "x-x-x-x.ec2.internal",
"registered_time": 1506692213.24938,
"resources": {
"disk": 35056,
"mem": 59363,
"gpus": 4,
"cpus": 32,
"ports": "[31000-32000]"
},
"used_resources": {
"disk": 0,
"mem": 0,
"gpus": 0,
"cpus": 0
},
"offered_resources": {
"disk": 0,
"mem": 0,
"gpus": 0,
"cpus": 0
},
"reserved_resources": {
"docker_gpu_worker": {
"disk": 35056,
"mem": 59363,
"gpus": 4,
"cpus": 32,
"ports": "[31000-32000]"
}
},
"unreserved_resources": {
"disk": 0,
"mem": 0,
"gpus": 0,
"cpus": 0
},
"attributes": {},
"active": true,
"version": "1.0.1",
"reserved_resources_full": {
"docker_gpu_worker": [
{
"name": "gpus",
"type": "SCALAR",
"scalar": {
"value": 4
},
"role": "docker_gpu_worker"
},
{
"name": "cpus",
"type": "SCALAR",
"scalar": {
"value": 32
},
"role": "docker_gpu_worker"
},
{
"name": "mem",
"type": "SCALAR",
"scalar": {
"value": 59363
},
"role": "docker_gpu_worker"
},
{
"name": "disk",
"type": "SCALAR",
"scalar": {
"value": 35056
},
"role": "docker_gpu_worker"
},
{
"name": "ports",
"type": "RANGES",
"ranges": {
"range": [
{
"begin": 31000,
"end": 32000
}
]
},
"role": "docker_gpu_worker"
}
]
},
"used_resources_full": [],
"offered_resources_full": []
}"
我们已将问题跟踪到此mesos代理配置:
--isolation="filesystem/linux,cgroups/devices,gpu/nvidia"
除去这些,代理可以正常工作,但不能访问gpu资源。根据nvidiagpu支持的文档,这个配置是必需的,这些文档似乎表明版本1.0.1支持它。我们正在继续调查。
2条答案
按热度按时间zyfwsgd61#
您可以静态地向master注册角色,如果您在运行时添加代理角色,那么master将不知道该角色,并且需要重新启动mesos master,master才能看到该角色。尝试重新启动mesos主机。
hc2pp10m2#
这个
GPU_RESOURCES
必须为框架启用功能。如中所示http://mesos.readthedocs.io/en/latest/gpu-support/例如,可以通过指定
--framework_capabilities="GPU_RESOURCES"
在mesos-execute
命令,或使用c++中的类似代码:而对于marathon框架,marathon服务必须使用以下选项启动
--enable_features "gpu_resources"
如在dc/os上启用gpu资源(cuda)中所示