一、Storm搭建
1. 下载安装包
#Master
wget http://mirror.bit.edu.cn/apache/storm/apache-storm-0.9.7/apache-storm-0.9.7.tar.gz
tar zxvf apache-storm-0.9.7.tar.gz
2. 修改Storm配置文件
I.搭建步骤
#Master
cd apache-storm-0.9.7/conf
vim storm.yaml
#vim /usr/local/src/apache-storm-0.9.3/conf/storm.yaml
文件名:storm.yaml
#【冒号后面、“-”后面有空格】
storm.zookeeper.servers:
- "master"
- "slave1"
- "slave2"
nimbus.host: "master"
storm.local.dir: "/tmp/storm/storm_data"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
- 6704
- 6705
II.理论
- Storm.local.dir:首先任务上传给nimbus,Nimbus得到任务后通知zookeeper(可以帮你存一些信息,并且可以代劳将任务分配出去)。supervisor感应到zookeeper有新任务的话,supervisor会通过zookeeper得到nimbus地址和目录。这时supervisor通过zookeeper的提示去从nimbus上面取Storm.local.dir位置的jar包和数据等。
- Storm.local.dir
- Nimbus.host:指明主的地址
- Supervisor.slots.ports,指明从的地址以及从有几个进程:
- 有点像mapreduce中的slot,但这slot完全与你的机器硬件相关,但是可以通过配置去配。
- 可以配置进程:几个port,就几个worker。
- 先把进程worker通过这种提示去提前创建出来,用不用是另外一回事,让这进程先跑着。一旦有新的任务时,这个进程就开始工作。好处是因为进程可以提前创建,这样可以减少启动的一些消耗。
- Ui.port:
- 通过页面去监控
3. 配置环境变量
#Master、Slave1、Slave2
vim ~/.bashrc
#set Storm environment
export STORM_HOME=/usr/local/src/apache-storm-0.9.7
export PATH=$PATH:$STORM_HOME/bin
#刷新环境变量
source ~/.bashrc
4. 拷贝安装包
#Master
scp -r /usr/local/src/apache-storm-0.9.7 root@slave1:/usr/local/src/apache-storm-0.9.7
scp -r /usr/local/src/apache-storm-0.9.7 root@slave2:/usr/local/src/apache-storm-0.9.7
5.1. 启动Storm
I.master创建启动脚本
#master
vim /usr/local/src/apache-storm-0.9.7/bin/start-storm-master.sh
#修改内容如下
/usr/local/src/apache-storm-0.9.7/bin/storm nimbus &
/usr/local/src/apache-storm-0.9.7/bin/storm ui &
/usr/local/src/apache-storm-0.9.7/bin/storm logviewer &
# python /usr/local/src/apache-storm-0.9.7/bin/storm nimbus &
# python /usr/local/src/<