複数のキューと複数のユーザーで Hadoop CapacityScheduler を実行しています。容量がそれぞれ 70%、20%、10% の 3 つのキューがあります。
mapred.capacity-scheduler.queue.default.capacity=70
私が持っているすべてのキューについて
mapred.capacity-scheduler.queue.default.maximum-capacity=100
驚いたことに、余剰容量が利用可能であるにもかかわらず、キューが余剰容量をほとんど使用していないように見えた (キュー固有の容量ですべて「最大」になる)。後で、複数のユーザーからのジョブが含まれている場合にのみ、キューが余分な容量を利用することを発見しました。
つまり、1 人のユーザーがキューに投入したジョブの数に制限はありません。2 番目のジョブが別のユーザーによってサブミットされた場合にのみ、余分な容量が使用されます。
リソースを占有しているジョブが他にない場合は、1 人のユーザーがすべてのクラスター リソースを使用できるようにしたいと考えています。
私は CapacityScheduler のドキュメントを徹底的に調べ、プロパティをいじってみましたが、成功しませんでした。
誰かがこれを行う方法を知っているなら、私に知らせてください。