Apache Storm 1.1.0 发布概览
写在前面的话
本人长期关注数据挖掘与机器学习相关前沿研究。欢迎和我交流,私人微信:846731084
我自己测试了一下这个版本,总的来说更加稳定,新增的特性并没有一一测试,仅凭kafk-client来说,是达到了生产环境的使用。
使用阿里云服务器的话,使用清华的节点下载是巨快的。(http://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz)
Storm 1.1.0 发布
Apache Storm社区很激动地宣布Storm1.1.0已经发布,已经可从下载页面 获得。
此版本代表了Apache Storm发展的一个重大里程碑,并包含大量新功能,可用性和性能改进,其中一些在下面介绍。
Streaming SQL
Storm 1.1.0支持由Apache Calcite驱动支持的原生Streaming SQL,允许用户通过运行SQL查询流数据或更新外部系统和数据存储(如Apache Hive)。要部署基于SQL的拓扑,用户可以在文本文件中定义SQL查询,并使用storm sql命令将生成的拓扑提交给Storm集群。Storm将SQL编译成Trident拓扑并在集群上运行。
Storm的SQL支持包括以下功能:
- 外部数据源的输入/输出,包括Apache Kafka,HDFS,MongoDB和Redis
- 元组过滤
- 映射
- 生成组件的用户自定义平行度
- 用户定义函数(UDF)
- CSV,TSV和Avro输入/输出格式
- 通过
ISQLTridentDataSource接口扩展其他数据源
有关Storm SQL支持(包括示例)的更多信息,请参阅以下资源:
Apache Kafka集成改进
除了基于Kafka简单消费者的Kafka 0.8 / 0.9 版本的传统支持外,Storm还支持包括基于新的Kafka消费者API对Kafka 0.10及更高版本。Storm与Kafka 0.10及更高版本的集成是高度灵活和可扩展的,其中的一些功能包括:
- 增强配置API
- 细粒度偏移量控制(启动时和失败后)
- 消费者组支持
- 可插拔记录翻译器
- 通配符主题
- 多流支持
- 手动分区控制
- Kafka安全支持
有关Storm的Kafka集成的更多信息,请参阅以下文档:
支持PMML (Predictive Model Markup Language,预测模型标记语言)
为了更好地支持机器学习用例,Storm现在通过一般的PMML Bolt支持在拓扑中执行PMML模型。PMMLPredictorBolt允许用户指定一个模型,原始输入以及生成的流和输出字段。在运行时,Bolt将处理输入的原始数据,使用给定的输入执行模型,并输出具有预测字段和输出字段的分数的元组。有关Storm的PMML支持的更多信息,请参见这里 。
Druid 集成
Druid 是一个可扩展的,高性能的,面向列的分布式数据存储,适用于实时分析用例。 Storm 1.1.0引入了一个Storm Bolt和Trident状态实现,用于将数据流传输到Druid数据存储中。Storm's Druid集成的文档可以在这里 找到。
OpenTSDB 集成
OpenTSDB 是基于Apache HBase的高度可扩展的时间序列数据库。 Storm 1.1.0添加了一个Storm Bolt和Trident状态实现,用于将数据写入OpenTSDB。 Storm的OpenTSDB集成为用户提供了一个简单的接口(ITupleOpenTsdbDatapointMapper)来执行转换,使用户能够对Storm元组如何映射到OpenTSDB数据结构进行细微的控制。可以在这里 找到关于Storm的OpenTSDB集成的信息。
支持AWS Kinesis
对于希望与亚马逊Kinesis服务集成的用户,Storm 1.1.0现在包括一个用于消费来自Kinesis的消息流的 Spout。像Storm的大部分外部系统集成组件一样,Kinesis Spout提供了一个简单的接口(RecordToTupleMapper),用于控制Kinesis消息如何转换为Storm元组。 Kinesis spout提供了一个额外的接口(FailedMessageRetryHandler),允许用户自定义Spout的故障处理逻辑。这里 可以找到Kinesis Spout的文档。
支持HDFS
Storm的HDFS集成现在包括一个从HDFS文件系统连续流式传输数据的 Spout。Storm的HDFS端口监视新文件的可配置目录,并将数据反馈至拓扑。当spout完成处理文件时,它将被移动到已配置的归档目录。如果文件已损坏或以其他方式不可处理,相应的文件将被移动到特定目录。通过一个确保每个文件由单个 Spout实例“owned”的锁定机制可以实现 Spout的并行性。 HDFS端口支持连接到使用Kerberos身份验证保护的HDFS实例。有关使用HDFS Spout的更多信息,请参阅Storm HDFS文档 。
Flux改进
Flux是一个框架和一组实用程序,允许用户声明性地定义Storm拓扑,并避免在拓扑组件中硬编码配置值。 Storm 1.1.0引入了对Flux框架的以下增强功能:
- Storm UI中的Flux拓扑可视化
- 支持状态Bolt和窗口
- 支持命名流
- 支持引用的列表
有关Flux的更多信息,请参见Flux文档。
拓扑部署增强功能
在以前的Storm版本中,通常必须将所有拓扑依赖关系包含在shaded的“uber jar”中,或者通过使其在Storm的类路径上可用。在Storm 1.1.0中,storm jar命令现在包括在拓扑提交期间上传附加依赖项的选项。 --jars命令行选项允许用户指定要上传的本地jar文件。或者,storm jar命令提供了--artifacts选项,用于通过它们的Maven坐标来指定附加的jar文件依赖关系。最后,对于Maven Central之外的Maven工件,-artifactRepository选项允许用户指定附加的存储库以进行依赖性解析。有关storm jar命令的可用选项的更多信息,请参见运行 storm help jar命令。
RAS (资源意识调度, Resource Aware Scheduler)改进
在Storm 1.0中引入的资源感知调度程序添加了一个考虑了集群中可用的内存(堆和堆)和CPU资源的调度程序实现。在风暴1.1.0中,RAS算法进行了大修,大大提高了集群资源利用率,并将机架知名度引入了调度策略。有关RAS新功能的更多信息,请参见RAS文档 和引入新的机架感知算法的JIRA故障单。
二进制分配的重要变化
为了最小化二进制分发的文件大小,不再包含外部组件(即“连接器”)二进制文件和已编译的示例。示例仅包含在源代码中,但可以使用Maven mvn install命令轻松编译。
外部组件移动到Maven Central
大多数外部组件现在仅在Maven Central中托管。外部组件目录将包含README.md文件,但不包含jar文件。我们鼓励用户利用Maven风格依赖解析(Maven,Gradle等)构建系统来构建拓扑jar,并避免手动构建拓扑。这些组件的Maven 路径如下:
Group ID: org.apache.storm Artifact ID: component directory name Version: 1.1.0
对于无法使用Maven进行构建的用户,可以从Maven Central下载以下URL模式的外部组件jar文件:
http://repo1.maven.org/maven2/org/apache/storm/${artifactID}/${version}/${artifactId}-${version}.jar
例如,要下载storm-kafka-client jar文件,URL将是:
http://repo1.maven.org/maven2/org/apache/storm/storm-kafka-client/1.1.0/storm-kafka-client-1.1.0.jar
原文地址
http://storm.apache.org/2017/03/29/storm110-released.html
Apache Storm 1.1.0 发布概览的更多相关文章
- Apache Flume 1.7.0 发布,日志服务器
Apache Flume 1.7.0 发布了,Flume 是一个分布式.可靠和高可用的服务,用于收集.聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型.这是一个可靠.容错的服务. 本次更 ...
- Visual Studio的 Apache Cordova 插件CTP3.0发布!
北京时间12号晚23点开始的Connect()活动上,微软发布了一系列激动人心的消息! .NET开源了!以后.NET将可在Linux和Mac OS平台上运行! VS免费了!!如果你是学生,个人开发者, ...
- Apache Flume 1.6.0 发布,日志服务器
Apache Flume 1.6.0 发布,此版本现已提供下载: http://flume.apache.org/download.html 更新日志和文档: http://flume.apache. ...
- Apache Storm 1.1.0 中文文档 | ApacheCN
前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ...
- 当Atlas遇见Flink——Apache Atlas 2.2.0发布!
距离上次atlas发布新版本已经有一年的时间了,但是这一年元数据管理平台的发展一直没有停止.Datahub,Amundsen等等,都在不断的更新着自己的版本.但是似乎Atlas在元数据管理,数据血缘领 ...
- 实时流式计算框架Storm 0.9.0发布通知(中文版)
Storm0.9.0发布通知中文翻译版(2013/12/10 by 富士通邵贤军 有错误一定告诉我 shaoxianjun@hotmail.com^_^) 我们很高兴宣布Storm 0.9.0已经成功 ...
- Apache Qpid Python 1.35.0 发布
Apache Qpid Python 1.35.0 发布了,Apache Qpid (Open Source AMQP Messaging) 是一个跨平台的企业通讯解决方案,实现了高级消息队列协议.提 ...
- Apache SeaTunnel (Incubating) 2.1.0 发布,内核重构、全面支持 Flink
2021 年 12 月 9 日,SeaTunnel (原名 Waterdrop) 成功加入 Apache 孵化器,进入孵化器后,SeaTunnel 社区花费了大量时间来梳理整个项目的外部依赖以确保整个 ...
- java.lang.ClassNotFoundException: org.apache.storm.topology.IRichSpout
java.lang.NoClassDefFoundError: org/apache/storm/topology/IRichSpout at java.lang.Class.getDeclaredM ...
随机推荐
- nodejs笔记2 --关于nodejs最新启动方式
1,运行应用以前是node app.js或者 supervisor app.js 2, 现在的应用方式是npm start或者supervisor bin/www
- iptables 完成联网控制 (续) ,独立native进程监听。
上一篇:http://www.cnblogs.com/oscar1011/p/5243877.html 之前做的iptables 来进行的联网控制,一直耿耿于怀,想要知道系统里的netd等等是如何做到 ...
- 一个技术汪的开源梦 —— 微信开发工具包(WeixinSDK)
由于春节的关系 WeixinSDK 这个开源项目的进展比预期推迟了大约一个月的时间,值得高兴的是到目前为止该项目的重要模块已经开发完毕. - 关于项目 该项目的背景是现在微信公众号.微信服务号乃至微 ...
- ajaxFileUpload.js 无刷新上传图片,支持多个参数同时上传,支持 ie6-ie10
/* 131108-xxj-ajaxFileUpload.js 无刷新上传图片 jquery 插件,支持 ie6-ie10 依赖:jquery-1.6.1.min.js 主方法:ajaxFileUpl ...
- android学习11——Handler,Looper,MessageQueue工作原理
Message是Handler接收和处理的消息对象. 每个线程只能拥有一个Looper.它的loop方法读取MessageQueue中的消息,读到消息之后就把消息交给发送该消息的Handler进行处理 ...
- 推荐一款好用的WSL终端模拟器
Windows 10 中包含了一个 WSL(Windows Subsystem for Linux)子系统,我们可以在其中运行未经修改过的原生 Linux ELF 可执行文件.利用它我们可以做很多事情 ...
- 深度神经网络(DNN)损失函数和激活函数的选择
在深度神经网络(DNN)反向传播算法(BP)中,我们对DNN的前向反向传播算法的使用做了总结.里面使用的损失函数是均方差,而激活函数是Sigmoid.实际上DNN可以使用的损失函数和激活函数不少.这些 ...
- scss 学习笔记
由于没有办法在网络上找到适合顾客的模板,同时之前自己写css也没有很好的管理方式,最终选择了scss. Nested #main p { color: #00ff00; width: 97%; .re ...
- 初探LVS NAT与DR
1. LB.LVS介绍LB集群是load balance 集群的简写,翻译成中文就是负载均衡集群 LVS是一个实现负载均衡集群的开源软件项目 LVS架构从逻辑上可分为调度层(Director).ser ...
- js三大家族offset,scroll,cliennt的区别
offset偏移(返回的是number类型) offsetLeft:返回盒子距离左边的距离 offsetTop:返回盒子距离顶部的距离 offsetHeight:返回盒子的高度,包括border,pa ...