我有一个用例,我在拥有超过 200 个节点的 mesos 集群上运行了 20-30 个框架。很多时候,mesos 向根本不想要任何报价的框架提供资源。在这样做的同时,它为真正需要它们的框架提供了很少的资源。
我知道框架可以调用一个函数 requestResources 来请求资源。但是,我找不到框架可以用来告诉 mesos 停止向其发送任何优惠的功能。有没有办法做到这一点?因为我的框架每 100 毫秒就会收到一次报价,这非常快!
我有一个用例,我在拥有超过 200 个节点的 mesos 集群上运行了 20-30 个框架。很多时候,mesos 向根本不想要任何报价的框架提供资源。在这样做的同时,它为真正需要它们的框架提供了很少的资源。
我知道框架可以调用一个函数 requestResources 来请求资源。但是,我找不到框架可以用来告诉 mesos 停止向其发送任何优惠的功能。有没有办法做到这一点?因为我的框架每 100 毫秒就会收到一次报价,这非常快!
当你拒绝Offer时,你可以设置一个可选的Filter,reject_seconds比默认的5s长。这意味着在您拒绝来自某个节点的提议后,Mesos 将不会将这些资源提供给您的框架以用于拒绝秒数。
或者,如果您的框架暂时不希望任何节点提供任何报价,它可以调用 driver.stop(true),调度程序将从 Mesos 注销,但它的任务将继续运行 FrameworkInfo.failover_timeout。一旦框架有工作要做,它可以再次启动/运行驱动程序以再次开始获取报价。
(仅供参考,requestResources 实际上还没有做任何事情。)