storm是依赖zookeeper的,所以我们首先要搭建一个zookeeper,参考:
1、下载storm:
wget https://mirror.bjtu.edu.cn/apache/storm/apache-storm-2.0.0/apache-storm-2.0.0.tar.gz
2、解压
tar -xvf apache-storm-2.0.0.tar.gz
3、修改配置文件,vim /usr/local/apache-storm-2.0.0/conf/storm.yaml
storm.zookeeper.servers:
- "172.16.22.75"
storm.zookeeper.port: 2181
ui.port: 18080
nimbus.host: "172.16.22.75"
storm.local.dir: "/usr/local/storm"
supervisor.slots.ports:
- 6700
- 6701
(
配置文件说明:
storm.zookeeper.servers,连接zookeeper的服务地址;
ui.port: 18080 (与UI访问的端口)
nimbus.host表示那一台机器是master机器,即 nimbus;
storm.local.dir 表示storm需要用到的本地目录(需要提前创建好);
storm.zookeeper.port表示zookeeper的端口号,这里一定要与zookeeper配置的端口号一致;
supervisor.slots.ports表示supervisor节点的槽数,就是最多能跑几个 worker进程;
)
4、配置环境变量:
vim /etc/profile
export STORM_HOME=/usr/local/apache-storm-2.0.0
5、source /etc/profile
使环境配置重新加载生效
6、进入到bin目录下,准备启动,由于是依赖zookeeper的,之前我们已启动过zookeeper了
所以现在启动nimbus, ./storm nimbus &
7、报了一个错误,没有安装argparse模块,如上图:
Traceback (most recent call last):
File "/usr/local/apache-storm-2.0.0/bin/storm.py", line 20, in <module>
import argparse
ImportError: No module named argparse
查了下怎么解决:https://blog.youkuaiyun.com/l1028386804/article/details/98970056
由于我是centos,
执行 yum install python-argparse
8、再次启动: ./storm nimbus &
jps查看,nimbus已经启动起来了
9、继续启动 supervisor
./storm supervisor &
启动UI:
./storm ui &
全部起来,ok: