storm数据处理流程图
storm也是主从架构,主节点叫nimbus,从节点叫supervisor,因为是主从结构所以它存在单节点故障的问题。主节点主要是用来提交任务的,当客户端client提交任务到nimbus上,nimbus就会把任务上传给zookeeper,如果supervisor监听到有任务提交到zookeeper中就最自动的从zookeeper节点中同步任务,并由spout组件和bolt组件去执行任务。spout组件是用来采集数据然后在初步处理数据后交给bolt组件,根据不同的操作可以通过多个bolt来处理数据,到最后一个bolt处理数据后就把数据存储到其他的地方,比如redis、数据库、hdfs、hbase,都是可以的。
我在bolt处理数据的时候,我们又会把不同的数据放到进程worker中进行处理,worker数量最大设置和cpu的处理核心数量一样。
伪分布安装
在安装storm之前要安装zookeeper,然后先把zookeeper启动了
1、解压和设置环境变量
tar -zxvf apache-storm-1.0.3.tar.gz -C ~/training/
vi ~/.bash_profile
STORM_HOME=/root/training/apache-storm-1.0.3
export STORM_HOME
PATH=$STORM_HOME/bin:$PATH
export PATH
配置完毕后使配置文件生效source ~/.bash_profile
2、配置核心配置文件: conf/storm.yaml
storm.zookeeper.servers:
- "bigdata111"
nimbus.seeds: ["bigdata111"]
storm.local.dir: "/root/training/apache-storm-1.0.3/tmp" Nimbus存储jar包的路径
supervisor.slots.ports: #配置每个从节点上的worker个数(进程)下面是指定端口
- 6700
- 6701
- 6702
- 6703
"topology.eventlogger.executors": 1 #启动处理数据时的日志收集器,可以从webconsole中看到处理的数据
3、启动storm
启动: storm nimbus & #启动主节点
storm supervisor & #启动从节点
storm ui & #启动管理界面
storm logviewer & #启动日志收集器
http://192.168.112.111:8080/index.html 管理页面
启动得一会儿,稍耐心等一下,我们打开管理页面如下所示