jstorm 2.1.1 release

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

jstorm 2.1.1 2016年3月1日正式release, 用户可以自行前往https://github.com/alibaba/jstorm/wiki/Downloads 下载

 

Release 2.1.1

New features

  • 相比2.1.0有1.5~6倍的性能提升
  • 添加了应用层的自动batch
  • 增加了独立的控制消息通道,将控制消息与业务消息分开,保证控制消息有较高的优先级被处理
  • 支持jdk1.8
  • 添加了nimbus hook和topology hook
  • Metrics系统:
    • 支持动态开关特定的metrics
    • 添加了metrics的设计文档,见JSTORM-METRICS.md
  • JStorm web UI相关:
    • 添加了zk节点的查看功能,感谢@dingjun84的PR
    • 添加了普通日志搜索以及topology日志搜索功能,支持正向和反向搜索
    • 支持日志的下载
  • 支持动态修改日志级别
  • 修改了zk中ErrorInfo的结构,增加了errorLevel, errorCode和duration
  • 增加了supervisor的健康检查
  • 增加了-Dexclude.jars选项以手动排除特定的jar包

 

Improvements

  • Metrics相关:
    • 使用JHistogram/JMeter代替codahale的Histogram/Meter, 把内部的Clock.tick改为System.currentTimeMillis,Meter和Histogram分别有50%和25%+的性能提升
    • 添加了TupleLifeCycle指标,用于统计消息从当前component发出来到下一个component被处理的总耗时
    • 添加了supervisor的指标: total_cpu_usage, total_mem_usage, disk_usage
    • 删除了一些不必要的指标,如emitTime等
    • 使用HeapByteBuffer代替List来发送histogram中的点数据,节省60+%的metrics内存使用
    • 将metrics采样率从10%调为5%
    • 删除AsmTimer及相关代码
  • 日志相关:
    • 默认不再使用log4j,而是使用logback,除非slf4j-log4j12依赖
    • 使用jstorm.log.dir配置取代原来的${jstorm.home}/logs, 详见jstorm.logback.xml
    • 将logback/log4j中日志文件的默认编码改为UTF-8
    • 修改日志目录结构,添加了${topology.name}目录, 详见jstorm.logback.xml
    • 将代码中所有log4j的Logger改为slf4j的Logger
    • 将defaults.yaml中默认的日志page size(log.page.size)由32K调整为128K
    • 将supervisor/nimbus的gc日志文件加上时间戳,防止重启后被覆盖; 重启worker前备份worker之前的gc日志
  • 优化反压策略,防止过度反压
  • 将acker中的pending map改为单线程,以提高性能
  • 修改RefreshConnections逻辑,防止频繁地从zk中下载assignments
  • 将Supervisor的默认内存由512MB调到1GB
  • 统一使用ProcessLauncher来起进程
  • 为supervisor和nimbus添加DefaultUncaughtExceptionHandler
  • 与0.9.x系列错开端口配置,见supervisor.slots.ports.base, nimbus.thrift.port, nimbus.deamon.logview.port, supervisor.deamon.logview.port配置
  • 将web UI的前端库highcharts改为echarts,防止潜在的版权冲突
  • 依赖升级
    • 升级kryo至2.23.0
    • 升级disruptor至3.2.2

 

Bug fix

  • 修复了起worker时可能的死锁
  • 修复了当localstate文件为空时,supervisor无法启动的问题
  • 修复了开启kryo时metrics中HeapByteBuffer无法被注册的bug
  • 修复了内存使用率计算不准确的bug
  • 修复了当用户自定义调度中分配的worker大于真实worker数时会创建空worker的bug
  • 修复web UI的日志目录设置错误的问题
  • 修复了web UI中的XSS bug
  • 在local mode的时候,TopologyMetricsRunnable线程不运行,感谢@L-Donne的PR
  • 修复JSTORM-141, JSTORM-188:TopologyMetricsRunnable消耗CPU过多的bug
  • 删除MaxTenuringThreshold JVM参数
  • 修复MkLocalShuffer中outTasks可能为null的bug

 

Deploy and scripts

  • 增加了对core dump文件的清理
  • 增加了supervisor的健康检测,见healthCheck.sh
  • 修改了jstorm.py,起进程后结束父python进程

 

升级指南

  • JStorm2.1.1基本与JStorm2.1.0保持兼容,但是为了保险起见,建议重启topology
  • 如果你的topology原先使用log4j,请在你的conf或者storm.yaml中加入"user.defined.log4j.conf: jstorm.log4j.properties"配置,以保证JStorm框架使用log4j
  • 如果你使用slf4j-api + log4j,请在你的应用中添加slf4j-log4j12的依赖
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
存储 监控 网络安全
Doris Manager 24.0 版本正式发布!
Doris Manager 24.0,SelectDB 的 Apache Doris 集群管理工具,迎来重大更新,包括管控模式升级至安全的 Agent 模式、新增任务审计、主机监控、计算节点部署支持等。此版本已获上千企业用户认可。新特性如 Agent 与 Server 间的 HTTP 通信,提升安全性;任务审计记录操作详情;监控模块扩展主机指标;集群巡检支持定时检查。此外,Doris Manager 提供了集群部署、扩缩容、升级、参数配置、日志查看、告警和审计等一系列高效管理功能。体验新版本,请参考安装和使用手册。
Doris Manager 24.0 版本正式发布!
|
SQL Java 关系型数据库
Apache doris 1.2.0 release
Apache doris 1.2.0 release
276 0
|
6月前
|
存储 数据采集 网络协议
Zookeeper总览(翻译自Zookeeper官方网站Release 3.4.11版本)
Zookeeper总览(翻译自Zookeeper官方网站Release 3.4.11版本)
141 0
|
运维 Kubernetes 监控
Sealer 0.9 :帮助集群和分布式应用实现 Build、 Share、Run
Sealer 0.9 版本中,其在核心定位上由专注 “集群维度的 Build,Share,Run” 升级为 “以集群为基础,以应用为中心,帮助集群和分布式应用实现 Build, Share,Run”,并重点增强了对应用的支持能力。
Sealer 0.9 :帮助集群和分布式应用实现 Build、 Share、Run
|
消息中间件 SQL 分布式计算
Cloudera Enterprise 6.0发布【集成Hadoop3.0】
Cloudera Enterprise 6.0发布【集成Hadoop3.0】
131 0
|
算法 流计算
分布式Snapshot和Flink Checkpointing简介
最近在学习Flink的Fault Tolerance,了解到Flink在Chandy Lamport Algorithm的基础上扩展实现了一套分布式Checkpointing机制,这个机制在论文"Lightweight Asynchronous Snapshots for Distributed Dataflows"中进行了详尽的描述。
|
消息中间件 Java 大数据
【大数据】Linux下Storm(0.9版本以上)的环境配置和小Demo
在storm发布到0.9.x以后,配置storm将会变得简单很多,也就是只需要配置zookeeper和storm即可,而不再需要配置zeromq和jzmq,由于网上面的storm配置绝大部分都是0.9以前的storm版本,所以有很多工作是不需要进行的,下面就storm的0.9.5版本在linux环境下进行配置进行详细解析。   由于配置storm只需要两个步骤,大大简化了配置,也是storm团队做了很大的努力,让程序员们专注于程序,让storm配置进行异常简单,好了,废话说了不少,下面正式开始讲解。
243 0
【大数据】Linux下Storm(0.9版本以上)的环境配置和小Demo
|
安全 Apache 流计算
Apache Flink 1.14.4 Release Announcement
这个版本修复了 51 个 bug 和漏洞,并对 Flink 1.14 进行了小的改进。下面是所有 bug 修复和改进的列表(不包括对构建基础结构和构建稳定性的改进)。有关所有更改的完整列表,请参阅: JIRA 我们强烈建议所有用户升级到 Flink 1.14.4。
|
SQL JSON 固态存储
版本通告|Apache Doris 0.15 Release 版本正式发布!
亲爱的社区小伙伴们,历时数个月精心打磨,我们很高兴地宣布, Apache Doris 于 2021 年 11 月 29 日迎来了 0.15.0 Release 版本的正式发布!有 99 位 Contributor 为 Apache Doris 提交了近 700 项优化和修复,在此我们也对所有贡献者表示最真诚的感激!
441 0