随笔分类 -  storm

storm学习与应用分享
摘要:storm是Twitter开发的一个开源的分布式实时计算系统,可以简单可靠的处理大量的数据流。storm有很多的应用场景,如实时分析,在线机器学习,持续计算,分布式RPC,ETL等等。storm支持水平扩展,具有很高的容错性,保证每个消息都能得快速的得到处理(在一个小的集群中,每个节点每秒可以处理数 阅读全文
posted @ 2018-02-13 09:24 木易森林 阅读(181) 评论(0) 推荐(0) 编辑
摘要:要创建一个KafkaSpout对象,必须要传入一个SpoutConfig对象,KafkaSpout的构造函数定义如下: SpoutConfig继承KafkaConfig,并实现Serializable,由于在KafkaConfig中所有的属性字段都是public的因此在SpoutConfig中可以直 阅读全文
posted @ 2018-01-15 20:57 木易森林 阅读(622) 评论(0) 推荐(0) 编辑
摘要:Supervisor 参数调整 修改${STORM_HOME}conf/storm.yaml文件内容 supervisor变更参数 slots 配置: 若storm host仅仅执行supervisor(不包含nimbus)时,slots数目 = (Memory GB 1 ) 若同时包含了storm 阅读全文
posted @ 2017-12-26 10:11 木易森林 阅读(1408) 评论(0) 推荐(0) 编辑
摘要:Storm是一个分布式的流处理系统,利用anchor和ack机制保证所有的tuple都被处理成功。如果tuple出错,则可以被重传,但是如何保证出错的tuple只被处理一次呢?换句话说Storm如何保证事物性呢?本节从简单的事物实现入手,最后引出事物型Topology的原理。 一.一致性事物设计 1 阅读全文
posted @ 2017-12-22 15:34 木易森林 阅读(943) 评论(0) 推荐(0) 编辑
摘要:在Storm Trident中有五种操作类型 Apply Locally:本地操作,所有操作应用在本地节点数据上,不会产生网络传输 Repartitioning:数据流重定向,单纯的改变数据流向,不会改变数据内容,这部分会有网络传输 Aggragation:聚合操作,会有网络传输 Grouped s 阅读全文
posted @ 2017-12-21 17:00 木易森林 阅读(330) 评论(0) 推荐(0) 编辑
摘要:Trident中有对状态数据进行读取和写入操作的一流抽象工具。状态既可以保存在拓扑内部,比如保存在内容中并由HDFS存储,也可以通过外部存储(比如Memcached或Cassandra)存储在数据库中。而对于Trident的API而言,这两种机制没有任何区别。 Trident以容错的方式来管理状态, 阅读全文
posted @ 2017-12-21 16:17 木易森林 阅读(1186) 评论(1) 推荐(0) 编辑
摘要:Trident是基于Storm进行实时留处理的高级抽象,提供了对实时流4的聚集,投影,过滤等操作,从而大大减少了开发Storm程序的工作量。Trident还提供了针对数据库或则其他持久化存储的有状态的,增量的更新操作的原语。 若我们要开发一个对文本中的词频进行统计的程序,使用Storm框架的话我们需 阅读全文
posted @ 2017-12-21 14:32 木易森林 阅读(9598) 评论(0) 推荐(0) 编辑
摘要:在Storm集群中,运行Topolopy的实体有三个:工作进程,executor(线程),task(任务),下图可以形象的说明他们之间的关系。 工作进程 Storm集群中的一台机器会为一个或则多个Topolopy运行一个或则多个工作进程。每个工作进程执行Topology的一个子集,一个工作进程属于一 阅读全文
posted @ 2017-12-20 14:38 木易森林 阅读(601) 评论(0) 推荐(0) 编辑
摘要:StormUI由Cluster Summary,topology summary,supervisor summary,Nimbus Configuration四部分组成,如下图所示: Cluster Summary介绍了整个集群的信息,其中列出了Solt的总数以及使用情况,通过空闲的Solt我们可 阅读全文
posted @ 2017-12-19 20:20 木易森林 阅读(5541) 评论(0) 推荐(0) 编辑
摘要:storm的配置文件在${STORM_HOME}/conf/storm.yaml。下面详细说明storm的配置信息。 java.libary.path:storm本身依赖包的路径,有多个路径的时候使用冒号隔开 storm.local.dir:storm使用的本地文件系统的目录,storm进程必须对该 阅读全文
posted @ 2017-12-19 14:57 木易森林 阅读(1184) 评论(0) 推荐(0) 编辑
摘要:开发Storm的第一步就是设计Topology,为了方便开发者入门,首先我们设计一个简答的例子,该例子的主要的功能就是把每个单词的后面加上Hello,World后缀,然后再打印输出,整个例子的Topology图如下: 整个Topology分为三部分: TestWordSpout:数据源,负责发送wo 阅读全文
posted @ 2017-11-14 15:02 木易森林 阅读(2874) 评论(0) 推荐(0) 编辑
摘要:storm的安装比较简单,下面以storm的单节点为例说明storm的安装步骤。 1.storm的下载 进入storm的官方网站http://storm.apache.org/,点击download按钮,进入下载页面。 选择并下载apache-storm-0.9.6.tar.gz 2.安装 1.解压 阅读全文
posted @ 2017-11-14 14:18 木易森林 阅读(1558) 评论(1) 推荐(1) 编辑