storm0.9.0.1安装


storm 0.9.x的好处是引入了netty进行网络传输(需要配置),不用再依赖zeromq和jzmq了


1.下载安装zookeeper

...

2.下载安装storm依赖库

JDK1.6及以上

...

python2.6.6及以上

...

3.下载storm

配置con/storm.yaml

storm.zookeeper.servers:
- "master"
- "slave1"
storm.zookeeper.port: 2181
storm.local.dir: "/data/storm-0.9.0.1/data"
nimbus.host: "master"
ui.port: 18080
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703

storm.messaging.transport: "backtype.storm.messaging.netty.Context"
storm.messaging.netty.server_worker_threads: 1
storm.messaging.netty.client_worker_threads: 1
storm.messaging.netty.buffer_size: 5242880
storm.messaging.netty.max_retries: 100
storm.messaging.netty.max_wait_ms: 1000
storm.messaging.netty.min_wait_ms: 100


supervisor.childopts: "-Xms1024m -Xmx1024m" 
worker.childopts: "-Xms1024m -Xmx2048m" 
nimbus.childopts: "-Xms1024m -Xmx1024m" 

4,启动

bin/storm nimbus
bin/storm supervisor
bin/storm ui

5.测试


storm任务的启动

bin/storm jar xxx/xxxx.jar org.admln.xxx.xxxTopology nimbushost

最后一个参数是指定nimbus的主机地址,如果是本地测试运行,则不需要传
storm任务的销毁

执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间

bin/storm kill topology-name

拓扑的停止

storm deactivte topology-name

停止的拓扑的启动

storm activate topology-name

再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。
再平衡拓扑:

storm rebalance topology-name

 

storm后台进程的停止

kill -9 xxx

-_-!


如果要更新一个任务的话现在唯一的办法就是先把它杀掉,然后重新添加改后的

未来storm打算使用storm swap命令来更新任务


任务的监控就是常见的UI和日志两方面了


storm的配置有系统配置和组件配置两个层面

1.系统配置就是conf/storm.yaml里面的配置

2.组件配置就是给特定的Topology特定的配置,只对此Topology有效

topology的特定配置可以通过

  1. "topology.debug"
  2. "topology.max.spout.pending"
  3. "topology.max.task.parallelism"

这样的行为指定,必须以topology开头

spout和bolt的内部配置可以通过重写getComponentConfiguration方法来指定或者在topologyBuilder的setSpout和setBolt方法的后面加上addConfiguration 或者 addConfigurations方法


 

posted @ 2015-03-30 14:16  Daem0n  阅读(476)  评论(0编辑  收藏  举报