Storm1.1.0集群部署

 

 

 

 

 

 

 

 

 

 

 

Storm1.1.0集群部署文档

 


第1章 概述

1.1  目的

Apache Storm是Apache旗下的一款免费开源的实时处理系统。

本文旨在描述storm集群的安装,供项目经理、测试经理、开发工程师、测试工程师和运维工程师阅读。


第2章 安装

2.1   准备工作

Ø  Linux服务器

本文使用CentOS 6.5进行安装。

Ø  storm账户

使用storm账户安装,所有安装服务器都需要提前创建storm用户。

Ø  jdk安装完成

安装的jdk版本为jdk1.7,所有服务器都得安装jdk。

Ø  防火墙关闭

Ø  停止老storm  [shell/stopstorm.sh]

 

2.2   安装

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的消费情况

 

 

第3章 集群扩容

3.1   准备工作(新增加的服务器

Ø  Linux服务器

本文使用CentOS 6.5进行安装。

Ø  storm账户

使用storm账户安装,所有安装服务器都需要提前创建storm用户。

Ø  jdk安装完成

安装的jdk版本为jdk1.7,所有服务器都得安装jdk。

Ø  防火墙关闭

3.2   复制安装文件

登陆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/*

3.3   启动服务

storm用户登陆新增加的节点服务器,执行启动脚本

#sh shell/startNodeStorm.sh

执行命令查看服务是否启动成功。

 

第4章 参考资料

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)}'

 

- 完毕 -

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值