千家信息网

Storm搭建

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Storm简单介绍:Storm是一个开源的分布式实时计算框架,最初是由Twitter开发的,现在是Apache的顶级项目之一。Storm适用于处理潜在无限的流式数据。Storm之与实时数据计算相当于H
千家信息网最后更新 2026年10月31日Storm搭建

Storm简单介绍:

Storm是一个开源的分布式实时计算框架,最初是由Twitter开发的,现在是Apache的顶级项目之一。Storm适用于处理潜在无限的流式数据。Storm之与实时数据计算相当于Hadoop之与批处理。


Storm特点:

  1. 简单的编程模型:类似于MapReduce降低了并行批处理复杂性,Storm降低了进行实时处理的复杂性。

  2. 容错性:Storm会管理工作进程和节点的故障。

  3. 水平扩展:计算是在多个线程、进程和服务器之间并行进行的。

  4. 可靠的消息处理:Storm保证每个消息至少能得到一次完整处理。任务失败时,它会负责从消息源重试消息。

  5. 快速:系统的设计保证了消息能得到快速的处理,使用MQ作为其底层消息队列。

  6. 多语言支持:你可以在Storm之上使用各种编程语言。默认支持Clojure、Java、Ruby和Python,要增加对其他语言的支持,只需实现一个简单的Storm通信协议即。


Storm处理流程:


Storm的适用场景:

(1) 信息流处理(Stream Processing) :Storm可以用来实时处理新数据和更新数据库,兼具容错性和可扩展性。

(2) 连续计算(Continuous Computation) :Storm可以进行连续查询并把结果即时反馈给客户,比如将Twitter上的热门话题发送到客户端。

(3) 分布式远程过程调用(Distributed RPC) :Storm可以用来并行处理密集查询,Storm的拓扑结构(后文会介绍)是一个等待调用信息的分布函数,当它收到一条调用信息后,会对查询进行计算,并返回查询结果。


Storm部署:

搭建步骤:

- 安装zookeeper

- 安装storm

- 启动storm

- 访问storm ui

  • 安装zookeeper

安装脚本:

#!/bin/bashname=zookeeper1SERVER_ID=1HOST1=192.168.1.1port=22181p_w_picpath=docker.ttxsgoto.com:5000/zk.ttxsgoto.com:v20160712run(){docker run -d \--name $name \-e "SERVER_ID=$SERVER_ID" \-e "ADDITIONAL_ZOOKEEPER_1=server.1=$HOST1:2181:3181" \-p ${port}:2181 \-v /opt/zookeeper/data:/opt/zookeeper/data \$p_w_picpath}pullp_w_picpath(){docker pull $p_w_picpathif [ $? -ne 0 ];thenecho "Docker pull $p_w_picpath fail."exit 1fi}case $1 indeploy)pullp_w_picpathrun;;stop)docker stop $name;;rm)docker stop $namedocker rm $name;;start)docker start $name;;redeploy)pullp_w_picpathdocker stop $namedocker rm $namerun;;*)echo "Usage $0 [deploy|start|stop|rm|redeploy]";;esac


1.需修改脚本中SERVER_ID,HOST1,port

2.添加执行权限并执行chmod +x zkstart.sh && ./zkstart.sh deploy


  • 安装storm

安装脚本:

#!/bin/bashif [ -z "$1" ]; thenecho "Usage error exit"echo "./build.sh [appname] [ver]"exit 2fiif [ -z "$2" ]; thenecho "Usage error please input docker version . exit"echo "./build.sh [appname] [ver]"exit 2fidocker build --no-cache=true -t docker.ttxsgoto.com:5000/$1.ttxsgoto.com:$2 .docker push docker.ttxsgoto.com:5000/$1.ttxsgoto.com:$2d=`date "+[%Y-%m-%d %H:%M:%S]"`echo -e "$d\t$*" >> build.txt


1.添加执行权限 chmod +x build.sh

2.传参数执行脚本(eg: ./build.sh storm v20160712)


PS:deploy/redeploy之前需要修改/etc/hosts文件,更新nimbus节点的hostname和ip的映射关系。


  • storm 启动

启动脚本:

#!/bin/bashp_w_picpath="docker.ttxsgoto.com:5000/$1.ttxsgoto.com:$2"log="/var/logs/$1.ttxsgoto.com.$2.$3"port=$5name=$3mode=$4run(){docker run --net=host -it -d \--name $name \-v $log:/opt/apache-storm-1.0.1/logs \"$p_w_picpath" /bin/sh -c "/opt/apache-storm-1.0.1/bin/storm $mode"} pullp_w_picpath(){docker pull $p_w_picpathif [ $? -ne 0 ];thenecho "Docker pull $p_w_picpath fail."exit 1fi} case $5 indeploy)pullp_w_picpathrun;;redeploy)pullp_w_picpathdocker stop $namedocker rm $namerun;;*)echo "Usage: $0 [appname version container_name mode deploy|redeploy]"esac

1.修改storm.yaml文件,配置zookeeper节点信息(storm.zookeeper.servers+storm.zookeeper.port),如:

storm.zookeeper.servers:- "192.168.1.1"storm.zookeeper.port: 22181storm.local.dir: "/opt"nimbus.seeds: ["ub"]supervisor.slots.ports:- 6700- 6701- 6702- 6703

2.添加执行权限 chmod +x storm.sh

3.传参执行 storm.sh

eg:./storm.sh storm v20160712 ui ui deploy./storm.sh storm v20160712 nimbus nimbus deploy./storm.sh storm v20160712 supervisor supervisor deploy
  • 访问storm UI界面

eg:http://192.168.1.1:8080


处理 消息 脚本 信息 实时 数据 查询 权限 节点 支持 复杂 分布式 复杂性 客户 容错性 文件 结果 语言 进程 容错 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 互联网科技活动banner 互联网科技未来 互联网科技金融公司 互联网 的科技创新 安徽鑫晟辉互联网科技 互联网高科技企业 互联网科技大会案例 金融科技和互联网金融 互联网企业和科技型企业 宁夏众和广鑫互联网科技有限公司 千方科技属于互联网企业吗 恒生互联网科技指数跳水 佛山市翊博互联网络科技有限公司 保险科技服务互联网营销体系 互联网科技公司营业执照怎么办理 富国互联网金融科技混合基金 互联网高科技行业有哪些企业 科技互联网经济论坛 玉溪新华互联网科技怎么选 互联网女皇 腾讯科技 重庆科技学院互联网 卓越科技互联网 招聘 开启互联网科技时代小说 成都玖崟互联网科技有限公司乐商圈怎么样 中国的互联网科技企业的崛起 以后互联网后是啥科技 爱医互联网络科技 互联网科技手机排行榜 北京军民互联网科技公司
0