Storm1.1.0集群部署文档
目 录
第1章 概述... 2
1.1 目的.. 2
1.2 文档历史.. 2
1.3 术语.. 2
第2章 安装... 2
2.1 准备工作.. 2
2.2 安装.. 2
第3章 集群扩容... 5
3.1 准备工作(新增加的服务器).. 5
3.2 复制安装文件.. 5
3.3 启动服务.. 6
第4章 参考资料... 6
Apache Storm是Apache旗下的一款免费开源的实时处理系统。
本文旨在描述storm集群的安装,供项目经理、测试经理、开发工程师、测试工程师和运维工程师阅读。
Ø Linux服务器
本文使用CentOS 6.5进行安装。
Ø storm账户
使用storm账户安装,所有安装服务器都需要提前创建storm用户。
Ø jdk安装完成
安装的jdk版本为jdk1.7,所有服务器都得安装jdk。
Ø 防火墙关闭
Ø 停止老storm [shell/stopstorm.sh]
storm用户登陆storm集群服务器master节点服务器
1) 上传storm1.1.0.tar.gz、shell.tar.gz、storm.yaml安装文件到服务器/home/storm
2) 0.9.02版本备份
备份/home/storm/shell
Mv /home/storm/shell /home/storm/shell267
备份config.properties,producer.properties
mv config.propertiesconfig.properties267
mv producer.properties producer.properties267
3) 上传config.properties , producer.properties到/home/storm/下
上传新的config.properties文件进行修改,参考config.properties267对应老配置,其中redis集群3.0找对应安装人员要。
具体科目见红箭头:
4) 解压安装文件
#tar xvf shell.tar.gz
5) 修改配置文件
修改storm.yaml(直接修改,不要复制)
#vi storm.yaml
#此处填写的是zookeeper集群的地址或者主机名(需要修改) storm.zookeeper.servers: - " rg-storm1" 建议换成ip - " rg-storm2" - " rg-storm3" #master的ip或主机名(需要修改) nimbus.host: "rg-storm1" 建议换成ip #storm集群nimbusHA主机名或配置(需要修改) nimbus.seeds: ["rg-storm1","rg-storm2"] 建议换成ip storm.health.check.dir: "healthchecks" storm.health.check.timeout.ms: 5000 storm.zookeeper.root: "/storm1.1.0" #指定一个容量大的路径,该目录需要提前创建好,并且有权限 storm.local.dir: "/home/storm/storm1.1.0/storm-dir" supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703
topology.debug: true
storm.messaging.transport: "org.apache.storm.messaging.netty.Context" storm.messaging.netty.server_worker_threads: 1 storm.messaging.netty.client_worker_threads: 1 storm.messaging.netty.buffer_size: 5242880 storm.messaging.netty.max_retries: 100 storm.messaging.netty.max_wait_ms: 1000
supervisor.childopts: "-Xmx1024m"
worker.childopts: "-Xmx1024m" topology.message.timeout.secs: 10000 #这个地方需要增大,并且为2的幂 topology.executor.receive.buffer.size: 131072 #这个地方需要增大,并且为2的幂 topology.executor.send.buffer.size: 131072 |
6) 修改安装脚本installStorm.sh内容
#vi shell/installStorm.sh
修改或添加上图中标红部分为storm集群ip地址
也可以分步骤拆开来执行这个shell
7) 同步到各个slave
scp -r shell storm1.1.0rg-storm1:/home/storm/
scp -r shell storm1.1.0rg-storm2:/home/storm/
scp -r shell storm1.1.0 rg-storm3:/home/storm/
scp -r *.propertiesrg-storm3:/home/storm/
scp -r *.propertiesrg-storm2:/home/storm/
8) 执行安装脚本
#sh installStorm.sh
输入对应服务器storm用户密码即可。
9) 变更软链接,确保指向storm1.1.0
rm -f storm
ln -s storm1.1.0 storm
最终结果如下:
10) storm.yaml配置文件nimbus.host配置项的配置的服务器上执行:
#shshell/startMasterStorm.sh
用jps命令查看有下图进程,则主节点上storm集群服务启动成功:
storm.yaml配置文件nimbus.seeds配置项的配置的第二个服务器上执行:
#sh shell/ startNimbusHAStorm.sh
执行jp命令,出现下图说明服务启动成功
其他节点服务器执行:
#sh shell/startNodeStorm.sh
最后通过ui查看storm集群启动是否成功:
如:ip为storm集群master节点ip
浏览器输入http://192.168.2.52:8080/ 出现下图说明storm集群安装部署成功:
注:启动storm集群的前提条件是zookeeper集群已经启动。
11) 发布作业,在master机器上,之前需要web确认redis3.0的基础数据是否都导入完毕:
1、 cpcalling_topology-3.1.0-SNAPSHOT.jar /home/storm/jobs/
2、 执行storm jarjobs/calling_topology-3.1.0-SNAPSHOT.jar cn.com.cintel.scb.topology.SCBTopologycdr_logs
3、 查阅storm在kafka的消费情况
Ø Linux服务器
本文使用CentOS 6.5进行安装。
Ø storm账户
使用storm账户安装,所有安装服务器都需要提前创建storm用户。
Ø jdk安装完成
安装的jdk版本为jdk1.7,所有服务器都得安装jdk。
Ø 防火墙关闭
登陆storm集群任意一台服务器,将部署好的storm集群安装文件和启动脚本复制分发到新增加的服务器节点之上。
如:
scp -r storm1.1.0/ shell/ storm@rg-storm4:/home/storm/
登陆增加的节点服务器,删除storm安装目录下storm-dir文件夹下的所有数据
#rm –rf/home/storm/storm1.1.0/storm-dir/*
storm用户登陆新增加的节点服务器,执行启动脚本
#sh shell/startNodeStorm.sh
执行命令查看服务是否启动成功。
install_storm.sh
#storm集群服务器ip地址:
hostnames=("192.168.2.53" "192.168.2.52" "192.168.2.54")
tar xvf /home/storm/storm1.1.0.tar.gz -c /home/storm/
cp /home/storm/storm.yaml /home/storm/storm1.1.0/conf/storm.yaml
for ip in ${hostnames[*]}
do
echo "复制安装文件到服务器:"$ip
scp -r shell/ storm1.1.0/ storm@$ip:/home/storm/
done
startMasterStorm.sh
rm -rf /home/storm/storm1.1.0/storm-dir/*
rm -rf /home/storm/storm1.1.0/logs/*
nohup /home/storm/storm1.1.0/bin/storm nimbus > /dev/null 2>&1 &
nohup /home/storm/storm1.1.0/bin/storm supervisor > /dev/null 2>&1 &
#nohup /home/storm/storm/bin/storm ui > /dev/null 2>&1 &
nohup /home/storm/storm1.1.0/bin/storm logviewer > /dev/null 2>&1 &
startNimbusHAStorm.sh
rm -rf /home/storm1.1.0/storm/storm-dir/*
rm -rf /home/storm/storm1.1.0/logs/*
nohup /home/storm/storm1.1.0/bin/storm nimbus > /dev/null 2>&1 &
nohup /home/storm/storm1.1.0/bin/storm supervisor > /dev/null 2>&1 &
nohup /home/storm/storm1.1.0/bin/storm ui > /dev/null 2>&1 &
nohup /home/storm/storm1.1.0/bin/storm logviewer > /dev/null 2>&1 &
startNodeStorm.sh
rm -rf /home/storm/storm1.1.0/storm-dir/*
rm -rf /home/storm/storm1.1.0/logs/*
#nohup /home/storm/storm/bin/storm nimbus > /dev/null 2>&1 &
nohup /home/storm/storm1.1.0/bin/storm supervisor > /dev/null 2>&1 &
#nohup /home/storm/storm/bin/storm ui > /dev/null 2>&1 &
nohup /home/storm/storm1.1.0/bin/storm logviewer > /dev/null 2>&1 &
stopStorm.sh
jps | awk '{if($2=="Supervisor" || $2=="nimbus" || $2=="core" || $2=="logviewer") c="kill "$0;system(c)}'
- 完毕 -