Jstorm 动态更新配置文件
来源:互联网 发布:淘宝直播的东西可靠吗 编辑:程序博客网 时间:2024/06/05 15:34
Jstorm 支持动态更新配置文件
从Release 2.1.1 开始Jstorm支持动态修改拓扑的配置文件,更新后的配置文件能直接被应用响应,在响应过程中 topology任务不会被重启或者下线,保证服务的持续性。
Note:拓扑配置文件的更新不包括对worker和component的并发度调整,如果用户想动态调整应用worker和组件并发度的大小请参看JStorm 任务的动态伸缩
拓扑要求
拓扑中所有的component中只有继承了接口
public interface IDynamicComponent extends Serializable {public void update(Map conf); //conf 配置文件}
才能实现配置文件的动态更新,至于配置文件怎么去更新相应component的配置,是由用户事先实现好的接口update()决定的。当用户提交动态更新配置文件的命令后,该函数会被回调。更新配置文件是以component为级别的,每个component都有自己的update,如果哪个component不需要实现配置文件动态更新,那它就无需继续该接口。
Note:需要实现动态更新配置文件的bolt,一定不要去继承接口IBasicBolt;
动态更新配置文件的使用
1. 命令行方式
USAGE: jstorm update_topology TopologyName -conf configPathe.g. jstorm update_topology SequenceTest –conf conf.yaml参数说明:TopologyName: Topology任务的名字configPath: 配置文件名称(暂时只支持yaml格式)
配置文件例子
topology.max.spout.pending: 10000send.sleep.second: 100kryo.enable: falsefall.back.on.java.serialization: true
2. API接口
backtype.storm.command.update_topology:- private static void updateTopology(String topologyName, String pathJar, String pathConf) Note: 参数pathJar是用设置来实现jar的更新,没有的话可以设置为null
常见问题
1. bolt的update函数没有被回调
可能你这个Bolt继承了接口IBasicBolt,为了能够实现配置文件动态更新我们建议实现bolt继承接口IRichBolt和IDynamicComponent
阅读全文
0 0
- Jstorm 动态更新配置文件
- Jstorm 动态更新配置文件出错
- 使用Rancher-Gen动态更新配置文件
- jstorm
- jstorm
- Jstorm
- Jstorm
- JStorm
- jstorm rebalance动态调整Task和Worker
- cocos3——9.AssetsManager动态更新配置文件详解
- C# 动态获取、修改、更新配置文件 实现思路
- C# 动态获取、修改、更新配置文件 实现思路
- vim配置文件(持续更新)
- 配置文件的更新方法
- Struts2 配置文件 更新中
- vim配置文件更新
- 更新客户配置文件
- vim配置文件(持续更新
- 大数据测试新手问答随笔
- 快速幂logn的算法
- mycat1.6.5分片规则(热数据)
- Servlet Filter 过滤器 对指定页面不拦截
- 字符串中数字子串的求和
- Jstorm 动态更新配置文件
- AndroidStudio编译报错:Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a
- Java Web 中使用Mybatis开发的步骤
- 脉搏波信号处理
- 适合小白的大白话讲解--->Git与Github的区别
- 电脑安装Mysql数据库
- Webservice 底层调用的本质
- java文档注释主要使用方法
- JS判断是IOS还是Android