我想在我的风暴拓扑中设置一个螺栓的任务数。但我在clojure找不到办法。我在文档中也没有看到螺栓规格的任何内容。我遗漏了什么吗?为了微调我的应用程序,我需要一种方法来设置任务的数量。这可能吗?[1] : http://storm.apache.org/releases/0.10.0/clojure-dsl.html
bgtovc5b1#
我相信在调用bolt spec like时,可以在配置Map中传递拓扑任务的数量
(bolt-spec {"1" :shuffle} geocode-lookup :p 8 :conf {TOPOLOGY_TASKS 64})
下面是一个拓扑示例:
(defn heatmap-topology [] (topology {"1" (spout-spec checkins :p 4)} {"2" (bolt-spec {"1" :shuffle} geocode-lookup :p 8 :conf {TOPOLOGY_TASKS 64}) "3" (bolt-spec {"2" :shuffle} time-interval-extractor :p 4) "4" (bolt-spec {"3" ["time-interval" "city"]} heatmap-builder :p 4) "5" (bolt-spec {"4" :shuffle} persistor :conf {TOPOLOGY_TASKS 4})}))
我也在想同样的事情,结果发现: org.apache.storm.clojure/bolt-spec 是的别名 org.apache.storm.thrift/mk-bolt-spec 链接 bolt-spec 定义为 org.apache.storm.util/defnk 链接,所以它返回一个类似 {:obj bolt :inputs inputs :p parallelism-hint :conf conf} conf默认为nil org.apache.storm.clojure/bolt-spec 是的别名 org.apache.storm.thrift/mk-topology 还有电话 org.apache.storm.topology.TopologyBuilder.addConfigurations 经过 conf 作为唯一的论据。链接也, setNumTasks 简单的电话 addConfiguration(Config.TOPOLOGY_TASKS, val) 链接最后,设置一个螺栓喷口的任务数的正确常数是 TOPOLOGY_TASKS 链接
org.apache.storm.clojure/bolt-spec
org.apache.storm.thrift/mk-bolt-spec
bolt-spec
org.apache.storm.util/defnk
{:obj bolt :inputs inputs :p parallelism-hint :conf conf}
org.apache.storm.thrift/mk-topology
org.apache.storm.topology.TopologyBuilder.addConfigurations
conf
setNumTasks
addConfiguration(Config.TOPOLOGY_TASKS, val)
TOPOLOGY_TASKS
sycxhyv72#
根据clojure dsl页面:要创建拓扑配置,使用 backtype.storm.config 为所有可能的配置定义常量的命名空间。这些常量与config类中的静态常量相同,只是使用了破折号而不是下划线。例如,下面的拓扑配置将worker数设置为15,并在调试模式下配置拓扑:
backtype.storm.config
{TOPOLOGY-DEBUG true TOPOLOGY-WORKERS 15}
从storm文档中(查找名为“任务数”的部分):
描述:每个组件要创建多少个任务。配置选项: TOPOLOGY_TASKS 如何在代码中设置(示例): ComponentConfigurationDeclarer#setNumTasks() 下面是一个示例代码段,用于实际显示这些设置:
ComponentConfigurationDeclarer#setNumTasks()
topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2) .setNumTasks(4) .shuffleGrouping("blue-spout");
看起来像是用 backtype.storm.config 命名空间和定义 TOPOLOGY-WORKERS 相当于打电话 setNumTasks .
TOPOLOGY-WORKERS
2条答案
按热度按时间bgtovc5b1#
我相信在调用bolt spec like时,可以在配置Map中传递拓扑任务的数量
下面是一个拓扑示例:
我也在想同样的事情,结果发现:
org.apache.storm.clojure/bolt-spec
是的别名org.apache.storm.thrift/mk-bolt-spec
链接bolt-spec
定义为org.apache.storm.util/defnk
链接,所以它返回一个类似{:obj bolt :inputs inputs :p parallelism-hint :conf conf}
conf默认为nil
org.apache.storm.clojure/bolt-spec
是的别名org.apache.storm.thrift/mk-topology
还有电话org.apache.storm.topology.TopologyBuilder.addConfigurations
经过conf
作为唯一的论据。链接也,
setNumTasks
简单的电话addConfiguration(Config.TOPOLOGY_TASKS, val)
链接最后,设置一个螺栓喷口的任务数的正确常数是
TOPOLOGY_TASKS
链接sycxhyv72#
根据clojure dsl页面:
要创建拓扑配置,使用
backtype.storm.config
为所有可能的配置定义常量的命名空间。这些常量与config类中的静态常量相同,只是使用了破折号而不是下划线。例如,下面的拓扑配置将worker数设置为15,并在调试模式下配置拓扑:从storm文档中(查找名为“任务数”的部分):
任务数
描述:每个组件要创建多少个任务。
配置选项:
TOPOLOGY_TASKS
如何在代码中设置(示例):ComponentConfigurationDeclarer#setNumTasks()
下面是一个示例代码段,用于实际显示这些设置:看起来像是用
backtype.storm.config
命名空间和定义TOPOLOGY-WORKERS
相当于打电话setNumTasks
.