zoukankan      html  css  js  c++  java
  • Apache Storm 1.1.0 发布概览

    写在前面的话

    本人长期关注数据挖掘与机器学习相关前沿研究。欢迎和我交流。
    我自己测试了一下这个版本,总的来说更加稳定,新增的特性并没有一一测试,仅凭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

  • 相关阅读:
    restart xinetd
    Hello World——Linux汇编
    C++箴言:理解inline化的介入和排除
    网上找来的不错的Debian sources.list
    C/C++中static变量和static函数的用法
    Inline内联函数的总结贴
    C++箴言:理解inline化的介入和排除
    Hello World——Linux汇编
    网上找来的不错的Debian sources.list
    C/C++中static变量和static函数的用法
  • 原文地址:https://www.cnblogs.com/cutd/p/6653342.html
Copyright © 2011-2022 走看看