标签:
Storm默认的任务调度器。实现如下:
1 | (defn –prepare [this conf]) |
2 | (defn –schedule [this ^Topologies topologies ^Cluster cluster] |
3 | (default-schedule topologies cluster)) |
default-schedule
方法原型:
1 | (defn default-schedule [^Topologies topologies ^Cluster cluster]) |
方法说明:
调度流程图:
slots-can-reassign
功能:从已经分配给当前Topology的资源中过滤出可以继续使用的资源。
函数原型:
1 | (defn slots-can-reassign [^Cluster cluster slots]) |
方法说明:
bad-slots
功能:计算一个Topology已经分配的资源中哪些是不再需要的。
函数原型:
1 | (defn- bad-slots [existing-slots num-executors num-workers]) |
参数说明:
Existing-slots:已分配给Topology的资源,<[node,port],executors>集合。
Num-executors:Topology的所有Executor(包括已分配和未分配的)。
Num-workers:Topology可使用的全部slot数目。
方法说明:
Storm系列(七)Scheduler-调度器[DefaultScheduler]
标签:
原文地址:http://www.cnblogs.com/jianyuan/p/4802101.html