目标:
通过本次能够掌握Strom集群搭建、Storm配置文件、Storm源码管理、Storm编程模型。
课程大纲:
集群部署的流程:下载安装包、解压安装包、修改配置文件、分发安装包、启动集群
注意:
所有的集群上都需要配置hosts
vi /etc/hosts
192.168.239.128 storm01 zk01 hadoop01
192.168.239.129 storm02 zk02 hadoop02
192.168.239.130 storm03 zk03 hadoop03
2.集群部署的基础环境准备
安装前的准备工作(zk集群已经部署完毕)
chkconfig iptables off && setenforce 0
groupadd realtime && useradd realtime && usermod -a -G realtime realtime
mkdir /export
mkdir /export/servers
chmod 755 -R /export
su realtime
wget http://124.202.164.6/files/1139000006794ECA/apache.fayea.com/storm/apache-storm-0.9.5/apache-storm-0.9.5.tar.gz
tar -zxvf apache-storm-0.9.5.tar.gz -C /export/servers/
cd /export/servers/
ln -s apache-storm-0.9.5 storm
mv /export/servers/storm/conf/storm.yaml /export/servers/storm/conf/storm.yaml.bak
vi /export/servers/storm/conf/storm.yaml
输入以下内容:
scp -r /export/servers/apache-storm-0.9.5 storm02:/export/servers
然后分别在各机器上创建软连接
cd /export/servers/
ln -s apache-storm-0.9.5 storm
cd /export/servers/storm/bin/
nohup ./storm nimbus &
cd /export/servers/storm/bin/
nohup ./storm ui &
cd /export/servers/storm/bin/
nohup ./storm supervisor &
访问node01:8080,即可看到storm的ui界面。
有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。
bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.6.jar storm.starter.WordCountTopology wordcount
storm kill topology-name -w 10
storm deactivte topology-name
我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spouts的nextTuple方法不会被调用。销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。
storm activate topology-name
storm rebalance topology-name
再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重新分配任务,并重启拓扑。
依次启动集群的各种角色
在nimbus的服务器上
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/nimbus.log
在ui的服务器上,一般和nimbus一个服务器
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/ui.log
在supervisor服务上
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/supervisor.log
在supervisor服务上
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/worker-6702.log
(该worker正在运行wordcount程序)
http://storm.apache.org/downloads.html
点击Apache/storm文字标签,进入github
https://github.com/apache/storm
在网页右侧,拷贝storm源码地址
https://github.com/apache/storm/tags/v0.9.5
扩展包中的三个项目,使storm能与hbase、hdfs、kafka交互
设计一个topology,来实现对文档里面的单词出现的频率进行统计。
整个topology分为三个部分:
Storm里面有7种类型的stream grouping