码迷,mamicode.com
首页 > 其他好文 > 详细

Storm在生产集群上运行Topology

时间:2016-03-15 00:54:18      阅读:493      评论:0      收藏:0      [点我收藏+]

标签:storm

一、步骤
1、定义topology,若用java语言,使用TopologyBuilder来定义
2、使用StormSubmitter来提交topology到集群中,所需参数需要topology名字,topology的参数配置,topology本身
例:
Config conf = new Config();
conf.setNumWorkers(20);
conf.setMaxSpoutPending(5000);
StormSubmitter.submitTopology("mytopology", conf, topology);
3、创建jar包,jar包包含你的所有的代码
4、提交topology,为jar包指定参数
storm jar path/to/allmycode.jar org.me.MyTopology arg1 arg2 arg3
实例:


1 public static void main(String[] args) throws Exception {

2 TopologyBuilder builder = new TopologyBuilder();

3 builder.setSpout("random", new RandomWordSpout(), 2);

4 builder.setBolt("transfer", new TransferBolt(), 4).shuffleGrouping("random");

5 builder.setBolt("writer", new WriterBolt(), 4).fieldsGrouping("transfer", new Fields("word"));

6 Config conf = new Config();

7 conf.setNumWorkers(4);// 设置启动4个Worker

8 conf.setNumAckers(1); // 设置一个ack线程

9 conf.setDebug(true); // 设置打印所有发送的消息及系统消息

10 StormSubmitter.submitTopology("test", conf, builder.createTopology());

11 }



二、公共配置
Config.TOPOLOGY_WORKERS :设置执行topology的worker的数量
Config.TOPOLOGY_ACKER_EXECUTORS:
Config.TOPOLOGY_MAX_SPOUT_PENDING
Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS:默认是30s
Config.TOPOLOGY_SERIALIZATIONS


三、杀死topology
storm kill stormname


四、更新一个正在运行的topology
 杀死一个正在运行的topology,提交一个新的topology,计划使用storm swap命令


五、监控topology使用Storm UI或者集群上的工作日志

Storm在生产集群上运行Topology

标签:storm

原文地址:http://11322420.blog.51cto.com/11312420/1750953

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!