storm0.9.5集群安装

本文涉及的产品
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 安装前的准备工作 关闭防火墙 chkconfig iptables off && setenforce 0 创建用户 groupadd realtime && useradd realtime && usermod -a -G realtime realtime 创建工作目录并赋权 mkdir /export mkdir /export/servers chmod 755 -R /export 切换到realtime用户下 su realtime   1、安装一个zookeeper集群,并启动zookeeper集群。
安装前的准备工作
关闭防火墙
chkconfig iptables off && setenforce 0

创建用户 groupadd realtime && useradd realtime && usermod -a -G realtime realtime

创建工作目录并赋权 mkdir
/export mkdir /export/servers chmod 755 -R /export

切换到realtime用户下 su realtime
 
1、安装一个zookeeper集群,并启动zookeeper集群。
 
2、上传storm的安装包,解压
 
3、修改storm配置文件storm.yaml
必填配置
#所使用的zookeeper集群主机的ip地址
storm.zookeeper.servers:
- "weekend01"
- "weekend02"
- "weekend03"
#storm中nimbus所在的主机名
nimbus.host: "weekend04"
可选配置
#指定一个supervisor上可以启动几个work进程,每个进程占用一个端口,如果不配置默认是4个work进程。
supervisor.slots.ports
-6701
-6702
-6703
-6704
-6705
#指定nimbus启动JVM最大可用内存大小
nimbus.childopts:"-Xmx1024m"
#指定supervisor启动JVM最大可用内存大小
supervisor.childopts:"-Xmx1024m"
#指定supervisor节点上,每一个worker启动JVM最大可用内存大小
worker.childopts:"-Xmx1024m"
#指定ui启动JVM最大可用内存大小,ui服务一般与nimbus同在一个节点上
ui.childopts:"-Xmx1024m"
等等....

 

新浪微博:intsmaze刘洋洋哥

启动storm
在storm/bin目录下
        先在nimbus主机上启动nimbus
        ./storm nimbus 
        ./storm ui
这样启动如果关闭会话窗口nimbus服务就会关闭。
 
输入下面命令,让nimbus在后台进程;运行。
        nohup ./storm nimbus 1>/dev/null 2>&1 &
        可以通过打印台看到其实就是执行该命令,启动一个java类:Running: /export/servers/jdk/bin/java -server backtype.storm.daemon.nimbus
        nohup ./storm ui 1>/dev/null 2>&1 &
 
在supervisor主机上
        nohup ./storm supervisor 1>/dev/null 2>&1 &
        Running: /export/servers/jdk/bin/java -server backtype.storm.daemon.supervisor
 
启动./storm ui后,就可以访问图形界面了。
访问nimbus.host:/8080,即可看到stormui界面。
 
4Storm常用操作命令
         有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。
        提交任务命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】
bin/storm jar examples/storm-starter/storm-starter-topologies-0.10.0.jar storm.starter.WordCountTopology wordcount
        杀死任务命令格式:storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)
storm kill topology-name -w 10
        停用任务命令格式:storm deactivte  【拓扑名称】
storm deactivte topology-name
        我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spouts的nextTuple方法不会被调用。销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。
        启用任务命令格式:storm activate【拓扑名称】
        storm activate topology-name
        重新部署任务命令格式:storm rebalance  【拓扑名称】
        storm rebalance topology-name
        再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。

5、Storm集群的进程及日志熟悉
5.1、查看nimbus的日志信息
在nimbus的服务器上
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/nimbus.log
5.2、查看ui运行日志信息
在ui的服务器上,一般和nimbus一个服务器
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/ui.log
5.3、查看supervisor运行日志信息
在supervisor服务上
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/supervisor.log
5.4、查看supervisor上worker运行日志信息
在supervisor服务上
cd /export/servers/storm/logs
tail -100f /export/servers/storm/logs/worker-6702.log
作者: intsmaze(刘洋)
老铁,你的--->推荐,--->关注,--->评论--->是我继续写作的动力。
微信公众号号:Apache技术研究院
由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关文章
|
3天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
13天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1292 5
|
12天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1321 87
|
2天前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
179 82
2025年阿里云域名备案流程(新手图文详细流程)
|
6天前
|
前端开发
Promise的then方法返回的新Promise对象的状态为“失败(Rejected)”时,链式调用会如何执行?
Promise的then方法返回的新Promise对象的状态为“失败(Rejected)”时,链式调用会如何执行?
242 127