初识storm
storm是Twitter开发的一个开源的分布式实时计算系统,可以简单可靠的处理大量的数据流。storm有很多的应用场景,如实时分析,在线机器学习,持续计算,分布式RPC,ETL等等。storm支持水平扩展,具有很高的容错性,保证每个消息都能得快速的得到处理(在一个小的集群中,每个节点每秒可以处理数以百万计的消息)。storm部署和运维都十分的便捷,并支持使用任意的语言开发应用。
storm具有一下特性:
1.编程模型简单
Hadoop为开发者提供了map,reduce原语,使并行的批处理程序变的优雅简单,同样storm也提供了一些简单优雅的原语,大大降低了编写并行实时处理系统的复杂性,帮助你快速高效开发应用。
2.可扩展
在storm集群中,真正运行的Topology主要有三个实体:工作进程,线程和任务。storm集群中每台机器都可以创建运行多个工作进程,每个工作进程又可以创建多个线程,每个线程可以执行多个任务。任务是进行数据处理的实体。Spout和Bolt被开发出来就是作为一个或则多个任务来执行的。计算任务在多线程,多进程和多服务器之间并行进行,支持灵活的水平扩展。
3.高可靠性
4.高容错性
如果在消息处理的过程中,遇到了一些异常,storm会重新部署这个出现问题的处理单元。storm保证一个处理单元永远运行,除非你显示的结束这个处理单元。当然,如果处理单元存储了中间状态,那么当处理单元被重新启动的时候,需要应用自己处理中间状态的恢复。
5.支持多种编程语言
6.支持本地模式
7.高效
8.运维部署简单
9图形化监控
初识storm的更多相关文章
- Storm学习笔记 - Storm初识
Storm学习笔记 - Storm初识 1. Strom是什么? Storm是一个开源免费的分布式计算框架,可以实时处理大量的数据流. 2. Storm的特点 高性能,低延迟. 分布式:可解决数据量大 ...
- Storm初识(1)
在Storm集群中,有两类节点:主节点 master node 和工作节点 worker nodes. 主节点运行着一个叫做Nimbus的守护进程.这个守护进程负责在集群中分发代码,为工作节点分配任务 ...
- 初识中间件Kafka
初识中间件Kafka Author:SimplelWu 什么是消息中间件? 非底层操作系统软件,非业务应用软件,不是直接给最终用户使用的,不能直接给客户带来价值的软件统称为中间件 关注于数据的发送和接 ...
- 大数据框架:Spark vs Hadoop vs Storm
大数据时代,TB级甚至PB级数据已经超过单机尺度的数据处理,分布式处理系统应运而生. 知识预热 「专治不明觉厉」之“大数据”: 大数据生态圈及其技术栈: 关于大数据的四大特征(4V) 海量的数据规模( ...
- Spark—初识spark
Spark--初识spark 一.Spark背景 1)MapReduce局限性 <1>仅支持Map和Reduce两种操作,提供给用户的只有这两种操作 <2>处理效率低效 Map ...
- Storm如何保证可靠的消息处理
作者:Jack47 PS:如果喜欢我写的文章,欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文主要翻译自Storm官方文档Guaranteeing messag ...
- Storm
2016-11-14 22:05:29 有哪些典型的Storm应用案例? 数据处理流:Storm可以用来处理源源不断流进来的消息,处理之后将结果写入到某个存储中去.不像其它的流处理系统,Storm不 ...
- Storm介绍(一)
作者:Jack47 PS:如果喜欢我写的文章,欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 内容简介 本文是Storm系列之一,介绍了Storm的起源,Storm ...
- 理解Storm并发
作者:Jack47 PS:如果喜欢我写的文章,欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 注:本文主要内容翻译自understanding-the-parall ...
随机推荐
- Codeforces 612B. Wet Shark and Bishops 模拟
B. Wet Shark and Bishops time limit per test: 2 seconds memory limit per test: 256 megabytes input: ...
- 编译安装bluez5.44
1.下载 2. configure 提示需要glib 3.yum install glib 4.还是提示glib 5.yum install glib-devel 下载编译glib make inst ...
- Javascript中escape()、encodeURI()、encodeURIComponent()的区别
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- 想要打动HR的心,UX设计师求职信究竟应该怎么写?
在努力准备申请一份UX设计师职位时,你最烦心和担忧的事哪一个环节?是写一份UX设计师简历?回答面试官的问题?还是在一遍遍的煎熬中等待一个面试电话?是的,这些都是不轻松的事儿,但还有一个同样糟心的事,那 ...
- struts spring 整合
错误 :Unable to load jar:file:WEB-INF/lib/struts2-spring-plugin-2.3.15.1.jar!/struts-default.xml 原因: 我 ...
- Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
解决方法: <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-m ...
- 2018.07.20 bzoj2152: 聪聪可可(点分治)
传送门 本蒟蒻AC的第二道点分治,调了30min" role="presentation" style="position: relative;"&g ...
- html转jsp部分css不可用
解决方法 <%String path = request.getContextPath();String basePath = request.getScheme()+"://&quo ...
- python创建二维数组
c=[[0]*3 for i in range(3)] c=[[0 for i in range(3)] for i in range(3)]
- (并查集)A Bug's Life -- POJ -- 2492
链接: http://poj.org/problem?id=2492 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82830#probl ...