安装前的准备工作
关闭防火墙
chkconfig iptables off && setenforce 0 创建用户
groupadd realtime && useradd realtime && usermod -a -G realtime realtime 创建工作目录并赋权
mkdir /export
mkdir /export/servers
chmod 755 -R /export 切换到realtime用户下
su realtime
1、安装一个zookeeper集群,并启动zookeeper集群。
2、上传storm的安装包,解压
3、修改storm配置文件storm.yaml
必填配置
#所使用的zookeeper集群主机的ip地址
storm.zookeeper.servers:
- "weekend01"
- "weekend02"
- "weekend03"
#storm中nimbus所在的主机名
nimbus.host: "weekend04"
可选配置
#指定一个supervisor上可以启动几个work进程,每个进程占用一个端口,如果不配置默认是4个work进程。
supervisor.slots.ports
-6701
-6702
-6703
-6704
-6705
#指定nimbus启动JVM最大可用内存大小
nimbus.childopts:"-Xmx1024m"
#指定supervisor启动JVM最大可用内存大小
supervisor.childopts:"-Xmx1024m"
#指定supervisor节点上,每一个worker启动JVM最大可用内存大小
worker.childopts:"-Xmx1024m"
#指定ui启动JVM最大可用内存大小,ui服务一般与nimbus同在一个节点上
ui.childopts:"-Xmx1024m"
等等....
新浪微博:intsmaze刘洋洋哥
启动storm
在storm/bin目录下
先在nimbus主机上启动nimbus
./storm nimbus
./storm ui
这样启动如果关闭会话窗口nimbus服务就会关闭。
输入下面命令,让nimbus在后台进程;运行。
nohup ./storm nimbus 1>/dev/null 2>&1 &
可以通过打印台看到其实就是执行该命令,启动一个java类:Running: /export/servers/jdk/bin/java -server backtype.storm.daemon.nimbus
nohup ./storm ui 1>/dev/null 2>&1 &
在supervisor主机上
nohup ./storm supervisor 1>/dev/null 2>&1 &
Running: /export/servers/jdk/bin/java -server backtype.storm.daemon.supervisor
启动./storm ui后,就可以访问图形界面了。
访问nimbus.host:/8080,即可看到storm的ui界面。
4、Storm常用操作命令
有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。
提交任务命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】
bin/storm jar examples/storm-starter/storm-starter-topologies-0.10.0.jar storm.starter.WordCountTopology wordcount
杀死任务命令格式:storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)
杀死任务命令格式:storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)
storm kill topology-name -w 10
停用任务命令格式:storm deactivte 【拓扑名称】
停用任务命令格式:storm deactivte 【拓扑名称】
storm deactivte topology-name
我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spouts的nextTuple方法不会被调用。销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。
启用任务命令格式:storm activate【拓扑名称】
storm activate topology-name
重新部署任务命令格式:storm rebalance 【拓扑名称】
重新部署任务命令格式:storm rebalance 【拓扑名称】
storm rebalance topology-name
再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。
再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。
5、Storm集群的进程及日志熟悉
5.1、查看nimbus的日志信息
在nimbus的服务器上
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/nimbus.log
5.2、查看ui运行日志信息
在ui的服务器上,一般和nimbus一个服务器
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/ui.log
5.3、查看supervisor运行日志信息
在supervisor服务上
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/supervisor.log
5.4、查看supervisor上worker运行日志信息
在supervisor服务上
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/worker-6702.log
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/worker-6702.log