JStorm部署

JStorm部署机器规划 172 16 10 210 jstormnimbus jstormsuperv 16 10 211 jstormsuperv 16 10 212 jstormsuperv 16 10 220 2181 zookeeper 集群部署准备安装包 wgethttps github com alibaba jsto

机器规划

集群部署

准备安装包

wget https://github.com/alibaba/jstorm/releases/download/2.2.1/jstorm-2.2.1.zip unzip jstorm-2.2.1.zip mv jstorm-2.2.1 /opt/jstorm 

环境变量

在~/.bash_profile 文件中或/etc/profile 文件中添加如下配置

vi ~/.bash_profile vi /etc/profile ··· export JSTORM_HOME=/opt/jstorm export PATH=$PATH:$JSTORM_HOME/bin ··· 

配置

编辑$JSTORM_HOME/conf/storm.yaml 配置文件

vim $JSTORM_HOME/conf/storm.yaml 

配置storm.zookeeper.servers为zookeeper地址

# 端口默认2181 storm.zookeeper.servers: - "172.16.10.220" 

配置storm.zookeeper.root为jstorm在zookeeper的节点名称

 storm.zookeeper.root: "/jstorm" 

去掉nimbus.host的注释,配置nimbus节点

 nimbus.host: "172.16.10.210" 

配置storm.local.dir,表示jstorm的临时数据存放目录

 storm.local.dir: "%JSTORM_HOME%/data" 

去掉supervisor.slots.ports前面的注释,设置supervisor节点执行worker使用的端口列表

 supervisor.slots.ports: - 6800 - 6801 - 6802 - 6803 

完整配置

 These MUST be filled in for a storm configuration storm.zookeeper.servers: - "172.16.10.220" storm.zookeeper.root: "/jstorm" # cluster.name: "default" #nimbus.host/nimbus.host.start.supervisor is being used by $JSTORM_HOME/bin/start.sh #it only support IP, please don't set hostname # For example nimbus.host: "172.16.10.210" #nimbus.host: "localhost" #nimbus.host.start.supervisor: false # %JSTORM_HOME% is the jstorm home directory storm.local.dir: "%JSTORM_HOME%/data" # please set absolute path, default path is JSTORM_HOME/logs # jstorm.log.dir: "absolute path" # java.library.path: "/usr/local/lib:/opt/local/lib:/usr/lib" # if supervisor.slots.ports is null, # the port list will be generated by cpu cores and system memory size # for example, # there are cpu_num = system_physical_cpu_num/supervisor.slots.port.cpu.weight # there are mem_num = system_physical_memory_size/(worker.memory.size * supervisor.slots.port.mem.weight) # The final port number is min(cpu_num, mem_num) # supervisor.slots.ports.base: 6800 # supervisor.slots.port.cpu.weight: 1.2 # supervisor.slots.port.mem.weight: 0.7 # supervisor.slots.ports: null supervisor.slots.ports: - 6800 - 6801 - 6802 - 6803 # Default disable user-define classloader # If there are jar conflict between jstorm and application, # please enable it # topology.enable.classloader: false # ... 

部署nimbus

运行

切换路径

cd $JSTORM_HOME/bin 

直接运行nimbus

jstorm nimbus 

后台运行

nohup jstorm nimbus >> nimbus.txt 2>&1 & 

HA

jstorm支持多个nimbus做HA,在另一台机器上执行同样的命令即可,根据zookeeper的原理,后执行的就自动standby了,充当slave,部署了jstorm-ui后,可以在jstorm-ui上可以看到。

部署supervisor

切换路径

cd $JSTORM_HOME/bin 

直接运行nimbus

jstorm supervisor 

后台运行

nohup jstorm supervisor >> supervisor.txt 2>&1 & 

部署storm-ui

下载的jstorm包解压后在根目录下有jstorm-ui-2.2.1.war,这是一个标准的war包,放在tomcat中执行即可

配置

因为storm-ui也需要storm.yaml的配置,默认使用~/.jstorm/storm.yaml

mkdir ~/.jstorm cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm 

开机启动

nimbus

编写脚本 nimbus-start.sh

#!/bin/bash #chkconfig: 112 63 37 nohup $JSTORM_HOME/bin/jstorm nimbus >> $JSTORM_HOME/bin/nimbus.txt 2>&1 & 

将脚本移动到/etc/rc.d/init.d目录下

mv nimbus-start.sh /etc/rc.d/init.d 

赋予脚本可执行权限

chmod +x /etc/rc.d/init.d/nimbus-start.sh 

添加脚本到开机自动启动项目中

cd /etc/rc.d/init.d chkconfig --add nimbus-start.sh chkconfig nimbus-start.sh on 

supervisor

编写脚本 supervisor-start.sh

#!/bin/bash #chkconfig: 112 63 37 nohup $JSTORM_HOME/bin/jstorm supervisor >> $JSTORM_HOME/bin/supervisor 2>&1 & 

将脚本移动到/etc/rc.d/init.d目录下

mv supervisor-start.sh /etc/rc.d/init.d 

赋予脚本可执行权限

chmod +x /etc/rc.d/init.d/supervisor-start.sh 

添加脚本到开机自动启动项目中

cd /etc/rc.d/init.d chkconfig --add supervisor-start.sh chkconfig supervisor-start.sh on 

jstorm-ui

编写脚本 jstorm-ui-start.sh

#!/bin/bash #chkconfig: 112 63 37 ${TOMCAT_HOME}/bin/startup.sh 

将脚本移动到/etc/rc.d/init.d目录下

mv jstorm-ui-start.sh /etc/rc.d/init.d 

赋予脚本可执行权限

chmod +x /etc/rc.d/init.d/jstorm-ui-start.sh 

添加脚本到开机自动启动项目中

cd /etc/rc.d/init.d chkconfig --add jstorm-ui-start.sh chkconfig jstorm-ui-start.sh on 

提交topology

提交topology的命令格式

jstorm jar springboot-jstorm-cal.jar com.*.*.CalBootstrap 

杀死topology

jstorm kill topologyname

例如:

jstorm kill topologyname 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224620.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午11:31
下一篇 2026年3月17日 上午11:31


相关推荐

  • 美化包软件_html简单进度条插件

    美化包软件_html简单进度条插件前言在我们进行自动化测试的时候,用例往往是成百上千,执行的时间是几十分钟或者是小时级别。有时,我们在调试那么多用例的时候,不知道执行到什么程度了,而pytest-sugar插件能很好解决我们的痛点。

    2022年7月30日
    10
  • 又是别人家的公司!李彦宏给创新员工发超 2000 万奖金……

    又是别人家的公司!李彦宏给创新员工发超 2000 万奖金……46 个 百度最高奖 总金额已超 3 亿元

    2026年3月18日
    2
  • netty 释放bytebuf_python高性能框架

    netty 释放bytebuf_python高性能框架目录一、ByteBuf介绍二、分配方式堆缓冲区直接缓冲区ByteBufAllocatorUnpooled缓冲区三、ByteBuf的操作可丢弃字节可读字节可写字节索引管理查找操作派生缓冲区引用计数工具类资源释放一、ByteBuf介绍网络数据的基本单位总是字节。JavaNIO提供了ByteBuffer作为它的字节容器…

    2026年1月22日
    3
  • AI Ping 免费上新:GLM-4.7 与 MiniMax M2.1 重磅上线,附独家使用教程

    AI Ping 免费上新:GLM-4.7 与 MiniMax M2.1 重磅上线,附独家使用教程

    2026年3月12日
    2
  • LAMP搭建和配置

    LAMP搭建和配置LAMP搭建和配置LAMP是由Linux,Apache,MySQL,PHP组成的,即把Apache、MySQL以及PHP安装在Linux系统上,组成一个环境来运行PHP的脚本语言。Apache是最常用的Web服务软件,而MySQL是比较小型的数据库软件。三个角色可以安装在一台机器上,也可以分开(但httpd和php要在一起的)为什么需要LAMP?手动逐个编译安装各个组件,需要输入各种命令,且有可能会中途出错。对于想要成功搭建LAMP建站环境来说,可以节约大量时间和精力。LAMP有什么

    2022年5月7日
    39
  • 倒立摆matlab仿真_控制系统设计实例

    倒立摆matlab仿真_控制系统设计实例本文的研究内容及安排如下:第一章是对倒立摆系统的介绍和分析,简要介绍了对倒立摆系统研究的历程,并对倒立摆系统进行建模,推倒出了倒立摆系统的状态空间表达式;第二章简要介绍了模糊控制的基本原理;第三章简要介绍了BP神经网络;第四章分别用常规PID、最优控制理论以及神经网络模糊控制实现了对倒立摆系统的控制,并对倒立摆系统的响应结果进行比较;第五章是结论,对论文做了总结,并提出了存在的一些问题。本论文研究…

    2022年8月18日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号