storm
fan_rockrock
程序人生
展开
-
二、Topology的并行度
1、几个概念 Supervisor会监听分配给它那台机器的工作,根据需要启动/关闭工作进程,这个工作进程就是worker。一个topology可能会在一个或者多个工作进程里面执行,每个工作进程执行整个topology的一部分。每一个worker都会占用工作节点的一个端口,这个端口可以在storm.yarm中配置。 每一个Spout和Bolt会被当作很多task在整个集群里面原创 2015-12-28 14:54:40 · 848 阅读 · 0 评论 -
三、消息的可靠处理
1、消息被完全处理的含义 当树创建完毕,并且树中的每一个消息都已经被处理时,Storm认为来自Spout的元组是“完全处理”的。当一个元组的消息树在指定的超时范围内不能被完全处理,则元组被认为是失败的。 2、如果一个消息被完全处理或完全处理失败会发生什么 首先,让我们看看Spout的元组的生命周期。ISpout接口的定义如下: public interface ISpo原创 2015-12-28 16:59:29 · 570 阅读 · 0 评论 -
五、DRPC
1、为什么有DRPC? Storm里面引入DRPC主要是利用storm的实时计算能力来并行化CPU intensive的计算。DRPC的storm topology以函数的参数流作为输入,而把这些函数调用的返回值作为topology的输出流。 DRPC其实不能算是storm本身的一个特性, 它是通过组合storm的原语spout,bolt, topology而成原创 2015-12-31 11:00:21 · 2534 阅读 · 0 评论 -
storm与kafka结合
一、kafka基本概念 1、kafka是一个分布式的消息缓存系统 2、kafka集群中的服务器都叫做broker 3、kafka有两类客户端,一类叫producer(消息生产者),一类叫做consumer(消息消费者),客户端和broker服务器之间采用tcp协议连接 4、kafka中不同业务系统的消息可以通过topic进行区分,而且每一个消原创 2016-01-21 11:31:04 · 3716 阅读 · 0 评论 -
一、storm基础概念
1、什么是storm Storm是一个分布式的、高容错的实时计算系统。 Storm对于实时计算的的意义相当于Hadoop对于批处理的意义。Hadoop为我们提供了Map和Reduce原语,使我们对数据进行批处理变的非常的简单和优美。同样,Storm也对数据的实时计算提供了简单Spout和Bolt原语。 Storm适用的场景: (1)、流数据处理:Storm可以用来用来处理源源原创 2015-12-27 17:31:24 · 706 阅读 · 0 评论 -
storm安装、运行
环境:centos6.4 软件: jzmq-master-----java与c++通讯的桥梁,有了它,就可以使用zeromp了(提供了接口,把数据放入到zeromq中) storm-0.8.2 zeromq-2.1.7-----号称史上最牛逼的消息队列(用c++写的) zookeeper-3.4.5 1.编译安装ZMQ: tar -xzf zeromq-2.1.7.t原创 2016-01-13 15:47:20 · 735 阅读 · 0 评论 -
两个例子(来自Storm实战 构建大数据实时计算)
例子一:模拟网站计算用户PV(页面浏览量) 拓扑图如下: 1、编写Topology public class TopoMain { public static void main(String[] args) throws AlreadyAliveException, InvalidTopologyException { TopologyB原创 2016-01-14 15:37:26 · 5085 阅读 · 1 评论 -
四、事务拓扑(Transactional Topolgoy)
1、问题的提出 怎样做到每个出错的tuple只被处理一次?这样才能统计所有发射出的tuple的数量。 2、简介 Storm 0.7.0引入了Transactional Topology, 它可以保证每个tuple”被且仅被处理一次”, 这样你就可以实现一种非常准确,非常可扩展,并且高度容错方式来实现计数类应用。跟DRPC类似, transactional topolo原创 2015-12-30 15:35:45 · 1295 阅读 · 0 评论