Storm总结

基本概念

  1. 一台物理机,运行多个拓扑。具体说就是,运行多个进程,每一个进程仅属于一个拓扑。
  2. worker(工作进程) 是进程。
  3. executor(执行器)是线程。
  4. 执行器运行着多个任务( task),但执行器只能执行一类组件,要么是spout要么是bolt。
  5. 组件的任务就是task,每一个bolt就相当于多个task。
  6. eg:一个线程运行着 training-bolt的多个task,但默认是1线程1task。一个bolt的task数量在运行过程中是一定的,但是一个组件的线程数可以改变。
  7. parallelism_hint表示:一个bolt的线程(executor)数量。
  8. 一些相关代码
Config.setNumWorkers(10); //一个拓扑有多少个分布于集群中的进程。
builder.setBolt(); //第三个参数就是parallelism-hint
topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2).setNumTasks(4).shuffleGrouping("blue-spout);//GreenBolt指定了初始有2个executor和4个关连的task。Storm会在每个 executor(线程)2个task。
时间: 2024-12-20 20:02:09

Storm总结的相关文章

Apache Storm 1.1.0 中文文档 | ApacheCN

前言  Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ApacheCN 最近组织了翻译 Storm 1.1.0 中文文档 的活动,整体 翻译进度 为 96%. 感谢大家参与到该活动中来 感谢无私奉献的 贡献者,才有了这份 Storm 1.1.0 中文文档 感谢一路有你的陪伴,我们才可以做的更好,走的更快,走的更远,我们一直在努力 ... 网页地址:

Storm入门(四)WordCount示例

Storm API文档网址如下: http://storm.apache.org/releases/current/javadocs/index.html 一.关联代码 使用maven,代码如下. pom.xml  和Storm入门(三)HelloWorld示例相同 RandomSentenceSpout.java /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor lice

storm的可靠性

消息确认机制: 在数据发送的过程中可能会数据丢失导致没能接收到,spout有个超时时间(默认是30S),如果30S过去了还是没有接收到数据,也认为是处理失败. 运行结果都是处理成功 参考代码StormTopologyAcker.java package yehua.storm; import java.util.Map; import org.apache.storm.Config; import org.apache.storm.LocalCluster; import org.apache.

Storm介绍及核心组件和编程模型

离线计算 离线计算:批量获取数据.批量传输数据.周期性批量计算数据.数据展示 代表技术:Sqoop批量导入数据.HDFS批量存储数据.MapReduce批量计算数据.Hive批量计算数据.azkaban/oozie任务调度 流式计算 流式计算:数据实时产生.数据实时传输.数据实时计算.实时展示 代表技术:Flume实时获取数据.Kafka/metaq实时数据存储.Storm/JStorm实时数据计算.Redis实时结果缓存.持久化存储(mysql). 一句话总结:将源源不断产生的数据实时收集并实

storm单词计数 本地执行

import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.apache.commons.io.FileUtils; import backtype.storm.Config; imp

Storm实验 -- 单词计数4

在上一次单词计数的基础上做如下改动: 使用 自定义  分组策略,将首字母相同的单词发送给同一个task计数 自定义 CustomStreamGrouping package com.zhch.v4; import backtype.storm.generated.GlobalStreamId; import backtype.storm.grouping.CustomStreamGrouping; import backtype.storm.task.WorkerTopologyContext;

storm学习笔记完整记录(一)

storm有两种运行模式(本地模式和集群模式) 1. 首先创建一个类似于HelloWorld的简单程序,以便进入storm的大门,包结构如下: 2.从包结构可以知道,这是一个Maven Project,pom.xml的内容如下: <project xmlns="http://maven.apache.org/POM/4.0.0"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    

Storm使用入门之本地开发环境搭建

本篇博文详细告诉你如何安装Storm的本地开发环境,总体分为两步,具体如下: 1.从官网上下载Storm的发布包,下载完成后将其解压,并将解压后的bin目录添加到环境变量(PATH)中,以方便后续执行Storm的相关命令 2.修改Storm的配置文件(storm.yaml),主要是按照实际情况更新配置文件中的集群信息,然后将修改后的配置文件添加到目录(~/.storm/)中,目的是为了后续能够远程启动和停止集群上的计算任务(即topology) 接下来,咱们来详细地介绍每一个操作步骤. 首先,何

JStorm Storm 上手demo

折线之间的内容整理自:http://blog.csdn.net/suifeng3051/article/details/38369689 -------------------------------------------------------------------------------------------------------------------------------------------- 在全面介绍Storm之前,我们先通过一个简单的Demo让大家整体感受一下什么是S

Storm集群上的开发 ,Storm的内部原理,storm集群间的通信机制(九)

storm间的worker会互相通信,上一个worker的结果会交给下一个worker进行计算.看图