(1)还是不变的下载环节,这里我用的storm-1.1.3版本,试过2.0.0,在我项目中很多bug,可能是版本之间不匹配的问题吧。还是下载到/opt/software下的噢
wget https://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-1.1.3/apache-storm-1.1.3.tar.gz
(2)编辑系统配置文件
vim /etc/profile
export STORM_HOME=/opt/apache-storm-1.1.3
export PATH=${STORM_HOME}/bin:$PATH
激活新配置
source /etc/profile
(3)配置storm的配置文件,这里主要是改了一个地方
vim /apache-storm-2.0.0/conf/storm.yaml
新增加:
#(下面的每行的空格是正常的,不是格式问题)
########### These MUST be filled in for a storm configuration
storm.local.dir: "/opt/apache-storm-1.1.3/localdir"
storm.zookeeper.port: 2181
storm.zookeeper.servers:
- "master"
- "slave1"
- "slave2"
nimbus.seeds: ["master"]
ui.host: 0.0.0.0
ui.port: 8080
supervisor.slots.ports:
- 6700
- 6701
- 6702
参数解释:
1) storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式如下:
2) storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,在apache-storm-2.0.0文件夹下:mkdir localdir
3) nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件
4) supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口
!!!local.dir指定的文件夹是需要你本地确实有的,没有就新建一个,这里我是新建了一个的
(4)启动
在master上启动:
storm nimbus &
storm ui &
storm logviewer &
在slave上需要启动:
storm supervisor &
storm logviewer &
(5)命令 jps查看一下吧
master上的进程已全部开启:
这里的进程 core在2.0.0版本是被UIXXXX进程代替了,所以你要是装的2.0.0版本找不到core的话不要担心。
安装成功,下一篇文章将storm与kafka进行集成,主要利用 ZkHosts 配置 让kafka作为storm的Spouts。