Mesos は Mac での "Posix" 分離のみをサポートします。これは、実際のリソース制限よりも監視のためのものであるため、Mac で Mesos をテストしても、真のリソース分離を実証することはできません。
Linux マシン/VM で Mesos をテストする場合、以下を設定できます。
--isolation='cgroups/cpu,cgroups/mem'
各スレーブを起動して cgroup 分離を有効にすると、コンテナーが作成され、その中でスクリプト/プロセスが実行されます。cgroups アイソレーターは、コンテナー/プロセスが CPU シェア (固定 CPU ではない) を超えると CPU 使用率を調整し、メモリ制限を超えるとプロセスを強制終了します (コンテナーを破棄します)。
また、Mesos 0.21 は、ネットワーク アイソレーターとプラグ可能なアイソレーター モジュールをサポートするようになったため、独自の GPU アイソレーター、キャッシュ アイソレーターなどを構築できることにも注意してください。
Docker コンテナーライザー (0.20+) を有効にする場合は、次のように設定します。
--containerizers='docker,mesos'
スレーブの起動時に、任意の docker イメージを起動して、その中でコマンドを実行できます。Docker は引き続き下層で cgroup を使用するため、cgroups アイソレーターは Mesos で実行する Docker イメージと完全に互換性があります。
Mesosphere パッケージを使用している場合は、次のように設定ファイルを作成して Mesos スレーブにオプションを渡すことができます/etc/mesos-slave
。
echo 'docker,mesos' > /etc/mesos-slave/containerizers