在集群上运行topology

运行步骤

    类似本地模式,在集群上运行topology步骤:

1)定义topology(如果使用java,使用topologyBuilder)
2)使用StormSubmitter来提交topology给集群。
Config conf = new Config();
conf.setNumWorkers(20);
conf.setMaxSpoutPending(5000);
StormSubmitter.submitTopology("mytopology", conf, topology);
3)创建jar,包含自己的代码以及代码所有依赖。storm jar会添加它到worker node的classpath上。
4)使用storm客户端提交topology给集群
  storm jar allmycode.jar org.me.MyTopology arg1 arg2 arg3
  storm jar将会提交jar给cluster,并配置StormSubmitter类与正确的cluster通话。

普通配置

    这儿有多种配置。以TOPOLOGY开头的哪些配置可以被覆写,其他的不能。
    1)Config.TOPOLOGY_WORKERS:设置worker用多少个进程执行topology。
    2)Config.TOPOLOGY_ACKERS:设置task数目,此task跟踪tuple树,且探测什么时候spout tuple被成功处理。
    3)Config.TOPOLOGY_MAX_SPOUT_PENDING:设置单个spout task一次能待处理的spout tuple个数,高度推荐设置放置队列爆炸。
    4)Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS:在被认为失败之前,spout tuple被成功处理的最大时间。默认为30秒。
    5)Config.TOPOLOGY_SERIALIZATIONS:想storm注册更多的serailizer,便于在tuple内使用这些注册类型。

Kill topology

    storm kill ${stormname}
    storm不会立即杀死topology,相反,它是spouts失效,不会在输出任何tuple,storm在销毁所有workers之前等待Config.TOPOLOGY_MESSAGE_TIMEOUT_SECS,给topology足够的时间来完成正在处理的tuple。

Updating a running topology

    更新正在运行的topology,唯一的方法是kill当前topology,重新提交新的。将来的版本中使用storm swap命令替换正在运行的topology。

Monitoring topologies

    使用strom UI监控一个topology。它提供了在task中发生的错误次数和更详细的状态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值