- 浏览: 56658 次
- 性别:
- 来自: 北京
文章分类
最新评论
并发度:
worker:指的是component (spout或bolt),并行的跑在不同的machine上的topology子集。
一个Topology可以包含一个或多个worker,worker process就是执行一个topology的子集, 并且worker只能属于一个topology。
设置worker数量
executor:worker的执行线程。
一个worker可用包含一个或多个executor, 每个component (spout或bolt)至少对应于一个executor, 所以可以说executor执行一个组件compenent(spout||bolt)的子集, 同时一个executor只能对应于一个component。
设置executor方式:
Task:是具体的处理逻辑对象, 一个executor线程可以执行一个或多个tasks。
一般默认每个executor只执行一个task, 所以我们往往认为task就是执行线程, 其实不是。
task代表最大并发度, 一个component的task数是不会改变的, 但是一个componet的executer数目是会发生变化的(storm rebalance命令)。可以理解与executor一样,增加并发数
task数>=executor数, executor数代表实际并发数
设置task方式:
总之:
一个worker可以包含多个executor
一个executor可以包含多个task
示例:
worker:指的是component (spout或bolt),并行的跑在不同的machine上的topology子集。
一个Topology可以包含一个或多个worker,worker process就是执行一个topology的子集, 并且worker只能属于一个topology。
设置worker数量
Config conf = new Config(); conf.setNumWorkers(2);
executor:worker的执行线程。
一个worker可用包含一个或多个executor, 每个component (spout或bolt)至少对应于一个executor, 所以可以说executor执行一个组件compenent(spout||bolt)的子集, 同时一个executor只能对应于一个component。
设置executor方式:
//parallelism_hint即设置的executor线程数 builder.setSpout("spout", new MySpout(), 1); setBolt(String id, IRichBolt bolt, Number parallelism_hint);
Task:是具体的处理逻辑对象, 一个executor线程可以执行一个或多个tasks。
一般默认每个executor只执行一个task, 所以我们往往认为task就是执行线程, 其实不是。
task代表最大并发度, 一个component的task数是不会改变的, 但是一个componet的executer数目是会发生变化的(storm rebalance命令)。可以理解与executor一样,增加并发数
task数>=executor数, executor数代表实际并发数
设置task方式:
topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2).setNumTasks(4).shuffleGrouping("blue-spout");
总之:
一个worker可以包含多个executor
一个executor可以包含多个task
示例:
Config conf = new Config(); conf.setNumWorkers(2); topologyBuilder.setSpout("blue-spout", new BlueSpout(), 2); topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2).setNumTasks(4).shuffleGrouping("blue-spout"); topologyBuilder.setBolt("yellow-bolt", new YellowBolt(), 6).shuffleGrouping("green-bolt"); StormSubmitter.submitTopology("mytopology",conf,topologyBuilder.createTopology());
发表评论
-
ITridentSpout、FirstN(取Top N)实现、 流合并和join
2017-05-25 10:01 1032一、ITridentSpout 基于事务 static int ... -
Trident实战之计算网站PV
2017-05-24 13:24 6481、Trident实战之计算网站PV /** * ... -
Trident API和概念
2017-05-23 10:57 750一、Trident API——Spout ITride ... -
Trident入门
2017-05-22 13:44 516英文原址:https://github.com/nathanm ... -
分布式远程调用drpc实例
2017-05-22 10:53 416一、DRPC定义 分布式dRPC(distributed RP ... -
不透明分区事务IOpaquePartitionedTransactional实例
2017-05-22 10:54 6791、spout public class MyOpaq ... -
分区事务IPartitionedTransactionalSpout实例
2017-05-21 11:02 5821.分区事务spout public class My ... -
普通事务ITransactionalSpout实例之按天统计数据
2017-05-20 16:56 4871、普通事务Spout /** * 普通事务Spou ... -
普通事务ITransactionalSpout实例
2017-05-20 15:45 8201、普通事务Spout /** * 普通事务Spou ... -
Storm事务API
2017-05-19 16:00 614Spout ITransactionalSpout<T& ... -
Storm批处理事务原理详解
2017-05-19 15:54 2102事务:Storm容错机制通 ... -
集群统一启动和停止shell脚本开发
2017-05-17 09:56 4481、cd 2、ls -al 显示隐藏目录 3、rm -rf ... -
storm高并发UV统计
2017-05-14 22:05 1131统计高并发UV可行的方案(类似WordCount的计算去重wo ... -
storm高并发PV统计,利用zookeeper锁输出汇总值
2017-05-14 14:42 896汇总型方案: 1、shuffleGrouping下,pv(单线 ... -
storm高并发PV统计
2017-04-16 17:54 686一、PV统计思考 方案需要考虑分析多线程下,注意线程安全问题。 ... -
Storm高并发运用WordSum
2017-04-16 14:21 10691、创建发射所有字符串统计总个数及去重个数处理类 pub ... -
storm分组策略介绍
2017-04-16 11:46 702一、storm数据来源 Spout的数据源: MQ:直接流数 ... -
Storm 字符统计Demo
2017-04-14 13:57 5331、数据源读取,字符发射spout类 /** * 字符 ... -
Storm 本地模式
2017-04-09 22:25 395本地模式,是在eclipse等编译器编写strom运行文件 ... -
Storm启动配置
2017-03-29 17:40 672一、安装Storm wget ...
相关推荐
Storm流计算从入门到精通之技术篇(高并发策略、批处理事务、Trident精解、运维监控、企业场景) Storm入门教程 之Storm原理和概念详解,出自Storm流计算从入门到精通之技术篇,Storm入门视频教程用到技术:Storm集群...
在Storm中,你可以模拟多个并发用户,进行负载和压力测试,评估Web服务在高并发情况下的稳定性和性能。通过分析响应时间、错误率等指标,可以找出系统的瓶颈和优化方向。 6. 自动化测试: Storm支持脚本化的测试...
4. 鲁棒性:Storm设计目标之一是提供健壮、容易管理的集群,即使在高并发的情况下也能保证系统的稳定运行。 5. 容错性:Storm具备容错能力,当计算出现错误时,系统能够重新分配任务,保证计算的持续进行。 6. 编程...
第4章和第5章阐述了Storm的并发度、可靠处理的特性;第6章~第8章详细而系统地讲解了几个高级特性:事务、DRPC和Trident;第9章以实例的方式讲解了Storm在实际业务场景中的应用;第10章总结了几个在大数据场景应用...
它的设计目标是处理PB级别的数据,适用于需要低延迟、高并发读写的场景。 三、Storm 与 HBase 集成的原因 1. 实时性:Storm 的实时处理能力与 HBase 的高速写入和查询性能相结合,可以实现实时数据的快速处理和存储...
Storm设计的目标是使实时数据处理变得简单易用,它可以连续处理无限的数据流,提供低延迟和高吞吐量的处理能力。Storm的核心思想是微批处理,即每个数据单元作为一个“小批次”进行处理,确保每个消息只被处理一次,...
Storm 的架构特点包括编程简单、高性能、低延迟、分布式、可扩展、容错、消息不丢失等。 Storm 的应用场景包括实时计算分析、ETL、在线机器学习、Hadoop 处理静态数据,而 Storm 处理的是动态的、连续的数据。...
Apache Storm是一个开源的分布式实时计算系统,它能够处理无界数据流,确保每个事件都得到正确的处理,即使在高并发和大规模数据输入的情况下也能保持高效。 **一、Storm简介** Apache Storm的核心概念包括:拓扑...
可能会涉及到Top N、滑动窗口等时间窗口操作,以及如何在高并发环境下保证数据的准确性和实时性。 五、Storm之电商交易风控项目实战 在电商交易风控场景中,Storm扮演了实时风险评估的角色。读者将学习如何通过实时...
Apache Storm是一款开源的分布式实时计算系统,它提供了简单而强大的API来定义数据流处理逻辑,同时保证了消息处理的容错性和高性能。Storm的设计目标是成为实时计算领域的Hadoop,支持多种编程语言,并且能够很好地...
使用Storm可以实现这些功能的自动化和实时化,对于大规模或高并发的Web Service环境尤其有价值。 然而,提供的压缩包文件名称“Storm_r1.1-Adarna”并没有给出足够的信息来详细解释具体如何使用Storm调试Web ...
标题中的"storm_webservice.zip"表明这是一个与Apache Storm相关的Web服务的...在实际应用中,开发者可能需要根据业务需求定制这个服务,例如处理特定的数据格式,实现特定的业务规则,或者优化性能以满足高并发请求。
这些改进使Storm更适用于大规模、高并发的实时数据处理任务。用户在使用过程中,应当关注官方更新日志,了解新版本带来的具体改进和可能的迁移步骤。 总之,Apache Storm 1.2.1是一个强大的实时流处理框架,适用于...
10. **性能调优**:考虑到基站数据的高并发性和实时性要求,项目可能涉及到 Storm 的性能调优,包括优化拓扑结构、调整并行度以及优化数据处理逻辑等。 综上所述,【中国移动storm项目代码】是一个综合性的实时大...
Storm Trident作为Storm的一个高级API,提供了更高级别的抽象和事务支持,使得复杂的数据处理变得更加简单和可靠。 **2. Storm的全面讲解** - **深度解析**:课程不仅覆盖了Storm的基础概念和架构,还深入探讨了其...
DRPC允许用户在Storm集群上执行分布式远程过程调用,使得在分布式环境中进行高并发、低延迟的数据处理成为可能。 **描述解析:** 描述中提到的"服务器端是运行在集群环境中的",指的是DRPC服务部署在由多台机器组成...
ZeroMQ能够处理大量并发连接,并且支持多种传输协议,如TCP、IPC和PUB/SUB模式,使得数据通信更加高效。 "zookeeper3.6.4"是Apache ZooKeeper的一个版本,它是一个分布式的,开放源码的协调服务,用于分布式应用...
- 理解并优化Spout和Bolt的并发度(parallelism hint)来提高资源的利用率。 - 调整批处理大小和超时时间以适应不同的业务场景和数据处理需求。 4. 性能调优: - 对消息的序列化和反序列化方式进行优化,减少CPU...
Java高级互联网架构师系统培训班课程Java高级互联网架构师系统培训班课程Java高级互联网架构师系统培训班课程