Storm-0.9.3新特性

2014年11月25日,Storm发布了0.9.3的版本。Storm 0.9.3的版本修改了100个Bug,改进了与Kafka的集成,并增加了与HDFS和HBase的集成。

改进了与Kafka的集成

Apache Storm从0.9.2-incubating版本开始支持Kafka作为流数据的数据源。0.9.3的版本在此基础上进行了几项改进,包括向一个或多个Kafka集群或topic写入数据。Storm现在既可以将Kafka作为流数据的数据源,也可以将它作为流数据的目的地。这使得Storm支持Topology间通信,Topology链,基于Spout/Bolt的Topology与基于Trident数据流的集成,和与支持以Kafka作为数据源的任何外部系统的集成。Storm 0.9.3使用的Kafka的版本为 Apache Kafka 0.8.1.1.

更多信息请查看Storm与Kafka的集成文档

与HDFS的集成

很多数据流的处理实例都涉及到将处理结果存储到HDFS上,以做进一步的分析和离线处理。为了使Topology的开发者更容易地将数据写入HDFS,0.9.3的版本包含了若干个支持这种功能的Bolt和Trident state的实现。Storm 0.9.3使用的Hadoop版本为Hadoop 2.2.0.

更多信息请查看Storm与HDFS的集成文档

与HBase的集成

Storm 0.9.3与HBase的集成包含了若干个允许Topology对HBase进行实时写入与查询的组件。Storm与HBase的集成使得用户可以对HBase中的数据进行流式查询,也可以将数据流处理结果存入HBase。Storm 0.9.3使用的HBase的版本为HBase 0.98.1-hadoop2

更多信息请查看Storm与HBase的集成文档

减少了包依赖冲突

在之前版本的Storm中,用户的Topology依赖包经常与Storm使用的依赖包相冲突。Storm 0.9.3更改了多个经常导致冲突的依赖包的位置。

以下列表列出了这些依赖包的位置:

DependencyOriginal PackageStorm Package
Apache Thrift org.apache.thrift org.apache.thrift7
Netty org.jboss.netty org.apache.storm.netty
Google Guava  com.google.common org.apache.storm.guava
com.google.thirdparty org.apache.storm.guava.thirdparty
Apache HTTPClient org.apache.http org.apache.storm.http
Apache ZooKeeper org.apache.zookeeper org.apache.storm.zookeeper
Apache Curator org.apache.curator org.apache.storm.curator

改进了支持多语言特性

Storm 0.9.3包含一个新的Node.js多语言实现,允许开发人员使用JavaScript编写spouts和bolts。此外,多语言协议的健壮性和错误处理能力也得到了很大的提升。这也导致多语言API发生了向后不兼容的变化。因此,在升级之前,使用了多语言拓扑的用户应查看Python、Ruby和JavaScript的多语言示例以确定其影响。

更全面的信息请查看Storm 0.9.3的变更日志

原文地址:https://www.cnblogs.com/jackiecoder/p/4169978.html