一、storm基本概念
Nimbus:负责资源分配和任务调度。
Supervisor: 负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。
Worker:运行具体处理组件逻辑的进程。worker中每一个spout/bolt 的线程称为一个task。该线程称为executor。
Topology:storm的一个实时应用程序。
Spout:在一个topology中产生源数据流的组件。
Bolt:在一个topology中接受数据然后执行处理的组件。
Tuple:一次消息传递的基本单元。
二、storm搭建
1、安装 zeromq-2.1.7
tar -zxvf zeromq-2.1.7.tar.gz
cd zeromq-2.1.7
一般都不会一次性成功,还要:
2、解决一些依赖包的问题
yum install gcc
yum install gcc-c++
yum install uuid*
yum install e2fsprogs
yum install ncurses
后面编译zeromq还是不行的话:
就下载安装util-linux-2.21
tar -zxf util-linux-2.21.tar.gz
cd util-linux-2.21
./configure
make
make install
cd zeromq-2.1.7
./configure
make
3、安装jzmq
tar -zxvf jzmq.tar.gz
cd jzmq
./autogen.sh
./configure
make
make install
4、安装Python-2.6.6
tar -zxvf Python-2.6.6.tar.gz
cd Python-2.6.6
./configure
make
make install
5、正式安装storm
tar -zxvf apache-storm-0.10.0.tar.gz
mv apache-storm-0.10.0 storm-0.10.0
cd storm-0.10.0/
cd conf/
vi storm.yaml
########### These MUST be filled in for a storm configuration
# storm.zookeeper.servers:
# - "server1"
# - "server2"
storm.zookeeper.servers:
- "bd1"
- "bd2"
- "bd3"
#
# nimbus.host: "nimbus"
nimbus.host: "bd1"
#
#
# ##### These may optionally be filled in:
#
## List of custom serializations
# topology.kryo.register:
# - org.mycompany.MyType
# - org.mycompany.MyType2: org.mycompany.MyType2Serializer
#
## List of custom kryo decorators
# topology.kryo.decorators:
# - org.mycompany.MyDecorator
#
## Locations of the drpc servers
# drpc.servers:
# - "server1"
# - "server2"
## Metrics Consumers
# topology.metrics.consumer.register:
# - class: "backtype.storm.metric.LoggingMetricsConsumer"
# parallelism.hint: 1
# - class: "org.mycompany.MyMetricsConsumer"
# parallelism.hint: 1
# argument:
# - endpoint: "metrics-collector.mycompany.org"
storm.local.dir=: "/usr/local/storm-0.10.0/workdir"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
cd storm-0.10.0/
mkdir workdir
开启storm 主节点
#!/bin/sh
storm nimbus >/dev/null 2>&1 &
sleep 2
storm ui >/dev/null 2>&1 &
storm 监控页面 : http://master:8080
开启从节点
#!/bin/sh
storm supervisor >/dev/null 2>&1 &
root@bd1$ jps
2655 QuorumPeerMain
3651 nimbus
2860 core
3324 Jps
root@bd2$ jps
5630 supervisor
3420 Jps
3960 QuorumPeerMain
搞完收工,回家睡觉!哈哈哈