代码改变世界

Strom的安装及使用

2016-01-19 19:56  Mandylover  阅读(357)  评论(0编辑  收藏  举报

在使用storm之前,首先看zookeeper是否安装好

单机版

1.在node1上修改配置文件conf下的storm.yaml文件

2.检查Java和Python的版本是否符合要求,运行java -version和python -version

   版本至少在Java 6+,Python 2.6.6+以上

3.部署zookeeper3.4.5+,ZK用3.4.5,因为它支持磁盘的快照和namenode的定期删除,避免磁盘被打满

4.新建logs文件:mkdir logs

4.执行以下命令:

./bin/storm dev-zookeeper >> ./logs/zk.out2>&1 &


./bin/storm nimbus >> ./logs/nimbus.out 2>&1 &


./bin/storm ui >> ./logs/ui.out 2>&1 &

http://node1:8080(查看启动是否成功)
./bin/storm supervisor >> ./logs/supervisor.out 2>&1 &


./bin/storm logviewer >> ./logs/logviewer.out 2>&1 &


./bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.5.jar storm.starter.WordCountTopology wordcount

接着访问http://node1:8080,运行wordcount example

单机版的步骤,storm自带了一个开发版的ZK,也不需要自己去部署,配置都不需要,极其简单
的,这也是Storm的一个好处,基本上是开箱即用的,单机环境虽然没有什么实际的价值,但是
在简单的测试上还是很有用的

分布式配置使用storm

1.进入storm目录后,先修改配置文件conf下的storm.yaml文件

修改zookeeper的主机名和主节点的名称(注意空格,三台都要修改此文件)

ZK所有的数据都写在dataDir下面,另外autopurge.purgeInterval=1就是每隔一小时,它来清理dataDir里面的数据,因为ZK会产生snapshot和binlog,产生的速度非常快用不了几天就会把磁盘给打满,我们一小时清理一次就可以有效的避免这个问题,清理的规则是清理的时候它会保留最新的3个文件,当然这个3也是可以配置的,第二个标红的就是我们ZK有3个机器的列表,其他就是一些默认的配置了,比如默认接收客户端的端口是2181

2.新建logs文件:mkdir logs(三台分别添加)

3.在node1里执行:

./bin/storm nimbus >> logs/nimbus.out 2>&1 &
./bin/storm ui >> logs/ui.out 2>&1 &

http://node1:8080

 在node2、node3里执行:

./bin/storm supervisor >> logs/supervisor.out 2>&1 &

回到node1里:./bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.5.jar storm.starter.WordCountTopology wordcount(必须在主节点上运行)

http://node1:8080