2017-10-03 19 views
0

私はMesos 1.0.1を使用しています。私は新しい役割のエージェントを追加しましたdocker_gpu_worker。この役割を持つフレームワークを登録します。フレームワークはオファーを受けません。他のロールを使用している他のフレームワーク(同じJavaコード)は正常に動作しています。私は3人のメソスのマスターを再開していません。誰が何がうまくいかないのか考えているのですか?私たちが追跡しているMesosフレームワークにリソースが提供されないのはなぜですか?

"{ 
    "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": [] 
}" 

:私は私のエージェントを参照してくださいmaster/slaves

"{ 
    "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/roles

"{ 
    "id": "fd01b1b0-eb73-4d40-8774-009171ae1db1-0701", 
    "name": "/data4/Users/mikeb/jobs/999", 
    "pid": "[email protected]: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/frameworks

、私は私のフレームワークを参照してくださいこのMesosエージェントの設定の問題:

--isolation="filesystem/linux,cgroups/devices,gpu/nvidia" 

これを削除すると、エージェントは正常に動作しますが、GPUリソ​​ースにはアクセスできません。この設定は、NVIDIAのGPUをサポートするためにdocsに応じて要件であり、これらのドキュメントは、バージョン1.0.1がそれをサポートしていることを示しているように見えます。調査を続けています。

答えて

0

GPU_RESOURCES機能は、フレームワークを有効にする必要があります。

http://mesos.readthedocs.io/en/latest/gpu-support/、 に示すように、これはmesos-executeコマンド、またはC++でこのようなコードを--framework_capabilities="GPU_RESOURCES"を指定することによって達成することができる:マラソン・フレームワークについて

FrameworkInfo framework; 
framework.add_capabilities()->set_type(
    FrameworkInfo::Capability::GPU_RESOURCES); 

代わりに、マラソンサービスが開始されなければなりませんEnable GPU resources (CUDA) on DC/OS

-1

エージェントロールを実行時に追加すると、 をマスタに静的に登録できます。 このロールを参照するには、マスターの再起動が必要です。 mesosマスターを再起動してみてください。

+0

私の理解で示されているようにオプション--enable_features "gpu_resources"で、バージョン1.0.1での役割は、もはや静的マスターに登録する必要はないということです。構成ドキュメントから:「--roles = VALUE、このクラスタ内のフレームワーク割り当てロールのカンマ区切りリストに属することがこのフラグは廃止され、それが指定されていない場合、任意のロール名を使用することができます」。 – mab

関連する問題