storm高级原语-Transactional topology】的更多相关文章

参考: http://xumingming.sinaapp.com/736/twitter-storm-transactional-topolgoy/ http://xumingming.sinaapp.com/811/twitter-storm-code-analysis-coordinated-bolt/ 示例代码: package com.lky.topology; import java.math.BigInteger; import java.util.ArrayList; impor…
STORM启动与部署TOPOLOGY 启动ZOOPKEEPER zkServer.sh start 启动NIMBUS storm nimbus & 启动SUPERVISOR storm supervisor & 启动UI storm ui & 部署TOPOLOGY storm jar /opt/hadoop/loganalyst/storm-dependend/data/teststorm-1.0.jar teststorm.TopologyMain /opt/hadoop/log…
Transactionalspouts Trident是以小批量(batch)的形式在处理tuple.而且每一批都会分配一个唯一的transaction id.不同spout的特性不同,一个transactionalspout会有例如以下这些特性: 1.有着相同txid的batch一定是一样的. 当重播一个txid相应的batch时,一定会重播和之前相应txid的batch中相同的tuples. 2.各个batch之间是没有交集的.每一个tuple仅仅能属于一个batch 3.每个tuple都属…
topology包含:stream.spout.blot. topology会一直运行,除非进程被杀死. 1.stream stream=tuple=event(CEP中的)=发送的报文.键值对(一个或多个). //spout @Override public void nextTuple() { Utils.sleep(100); String sendStr = "Hello World"; collector.emit(new Values(sendStr)); log.info…
Spouts,流的源头 Spout是Storm里面特有的名词,Stream的源头,通常是从外部数据源读取tuples,并emit到topology Spout可以同时emit多个tupic stream,通过OutputFieldsDeclarer中的declareStream,method来定义 Spout需要实现RichSpout端口,最重要的方法是nextTuple,storm会不断调用接口从spout中取数据,同时需要注意的是Spout分为reliable or unreliable两种…
不多说,直接上干货!   Hadoop 上运行的是 MapReduce 作业,而在 Storm 上运行的是拓扑 Topology,这两者之间是非常不同的.一个关键的区别是:一个MapReduce 作业最终会结束,而一个 Topology 拓扑会永远运行(除非手动杀掉). Topology拓扑 从字面上解释Topology,就是网络拓扑,是指用传输介质互连各种设备的物理布局,是构成网络的成员间特定的物理的(即真实的),或者逻辑的,即虚拟的排列方式.拓扑是一种不考虑物体的大小.形状等物理属性,而只使…
上次课程内容回顾: ConcurrentHashMap是线程安全的,为什么多线程的时候还不好使,为什么还要加static关键字 1.storm的基本介绍:strom是twitter公司开源提供给apache的一个实时处理的框架2.storm的架构模型:主从架构: nimbus:主节点  接收客户端提交的任务,以及任务的分发 supervisor:从节点,主要用于处理nimbus分配的任务3.storm的安装 yaml的配置文件比较严格4.strom的UI管理界面:记得更改ui的端口,默认8088…
======================================= 5.storm的定时器以及与mysql的整合使用 功能需求:实现每五秒钟打印出当前时间,并将发送出来的数据存入到mysql数据库当中. 详见代码. 打包到集群上运行, 打包成jar包,选择4M的那个带依赖的jar包,上传到node02上,所在路径为: /export/stormTickTimeMysql.jar 执行storm命令运行jar包: cd /export/servers/apache-storm-1.1.…
4.  消息不丢失机制 4.1.ack是什么 ack 机制是storm整个技术体系中非常闪亮的一个创新点. 通过Ack机制,spout发送出去的每一条消息,都可以确定是被成功处理或失败处理, 从而可以让开发者采取动作.比如在Meta中,成功被处理,即可更新偏移量,当失败时,重复发送数据. 因此,通过Ack机制,很容易做到保证所有数据均被处理,一条都不漏. 另外需要注意的,当spout触发fail动作时,不会自动重发失败的tuple,需要spout自己重新获取数据,手动重新再发送一次 ack机制即…
======================================== 3.  storm与hdfs的整合使用 3.1.功能需求: 实现随机发送订单数据,从计算订单的总金额,然后将订单中的数据写入到hdfs永久保存. 详见代码.…