wp商城手机网站优化排名首页
1 准备
1.1 准备linux服务器
本文搭建的是3节点的集群,需要3台linux服务器,我这里使用的是centos7版本的linux虚拟机,虚拟机网络配置如下:
主节点:
master 192.168.92.90
从节点:
slave1 192.168.92.91
 slave2 192.168.92.92
注:
 每台linux服务器的时间保持一致
虚拟机搭建详见《centos虚拟机搭建与网络配置》
1.2 下载storm
本文使用 apache-storm-1.0.0.tar.gz
下载地址:http://archive.apache.org/dist/storm/apache-storm-1.0.0

1.3 安装zookeeper
详见《ZooKeeper服务器的安装与启动》
1.4 安装storm的其他依赖
1)安装JKD
 详见《linux下安装jdk》
2)安装Python
 我这里linux版本为centos7.0,自带Python环境

2 storm的分布式模式安装
2.1 上传apache-storm-1.0.0.tar.gz到服务器
在当前用户的/opt目录下创建software目录命令:mkdir software
把apache-storm-1.0.0.tar.gz分别上传到3台虚拟机,我这里是上传到以下目录:/opt/software/

2.2 解压apache-storm-1.0.0.tar.gz
解压命令:tar -zxvf apache-storm-1.0.0.tar.gz
其他几台服务器同样解压。
2.3 配置storm
2.3.1 进入apache-storm-1.0.0/conf目录
命令:cd apache-storm-1.0.0/conf
2.3.2 编辑storm.yaml文件
命令:vim storm.yaml
删除storm.yaml文件的所有注释,在storm.yaml文件中加入如下配置:
 #############################################################
#注意:所以设置的开头行都要有空格
#############################################################
 #运行zookeeper的设置,可以使用hostname和IP地址两种方式,我这里的zookeeper的hostname分别是master、slave1、slave2
 storm.zookeeper.servers:
 - “master”
 - “slave1”
 - “slave2”
#指定nimbus的节点机器,使用服务器的hostname,我这里指定的是3台,分别是master、slave1、slave2
 nimbus.seeds: [“master”, “slave1”, “slave2”]
#指定storm web UI的启动端口,我这里是9999,防止与其他应用端口冲突
 ui.port: 9999
#保存storm数据的路径,我这里是/tmp/storm
 storm.local.dir: “/tmp/storm”
#指定work(spout和bolt)的运行端口,也是一个supervisor能并行的work的最大数量(能够开启的最大进程数),每个work占用1个端口,我这里每台supervisor设置的是可以并行4个work,端口可以任意指定不重复的端口,我这里是6700、6701、6702、6703
 supervisor.slots.ports:
 - 6700
 - 6701
 - 6702
 - 6703

保存storm.yaml文件并退出
2.3.3 创建保存storm数据的文件夹
创建文件夹的路径是storm.yaml文件的storm.local.dir配置项,我这里是/home/lby/data/storm,命令:
 mkdir -p /home/lby/data/storm
2.3.4 配置环境变量
1)在用户目录下(我这里是/home/lby),编辑bash_profile,命令:
 vim ~/.bash_profile
在bash_profile中加入以下配置:
 export STORM_HOME=storm安装路径
 export PATH=.: $STORM_HOME/bin: $PATH
注:
 我这里storm路径是/home/lby/apache-storm-1.0.0

2)保存退出
 3)使配置的环境变量生效,命令:
 source ~/.bash_profile
所有服务器的storm配置相同。
3 storm的启动与停止
3.1 启动
3.1.1 在nimbus主节点执行以下启动命令
我这里master是nimbus主节点,slave1和slave2是备用节点
 1)启动nimbus守护进程,命令:
 storm nimbus < /dev/null 2<&1 &
 jps查看进程,出现nimbus进程

2)启动web UI守护进程,命令:
 storm ui < /dev/null 2<&1 &
 jps查看进程,出现core进程

3.1.2 在从节点执行以下启动命令
 我这里从节点是slave1、slave2
 启动supervisor守护进程,在从节点分别执行命令:
 storm supervisor < /dev/null 2<&1 &
 jps查看进程,出现supervisor进程

3.2 停止
 jps查看进程,执行kill命令杀死进程
 例如,杀死nimbus进程:
 jps查看进程

上图所示,nimbus进程号是16206,执行命令:
 kill -9 16206
 jps查看进程,发现nimbus已经被杀死
