- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 storm_安装与配置
安装storm集群的步骤如下:搭建ZooKeeper集群; 安装storm依赖库; 下载并解压storm发行版本; 配置storm.yaml文件; 启动storm的各个守护进程;1.搭建zookeeper集群详见zookeeper章节。2.安装storm依赖库 2.1消息传输机制消息队列ZeroMQ和JZMQZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传...
2018-12-07 12:01:37 394
原创 storm_伪集群安装
创建linux虚拟机,用户名密码都为gary,ip为192.168.32.131。关闭防火墙:service iptables stopchkconfig iptables off查看防火墙状态:service iptables status安装jdk下载并解压jdk:在linux下创建/opt/java目录,将将jdk中的文件复制过去。然后添加环境变量,在/et...
2018-12-07 12:01:26 674
原创 storm_可靠消息的例子
这是一个比较复杂的例子,含盖的知识面较多。需求:统计出某文件夹下各文件中,各个单词出现的数次。(同时将文件剪切到另一个目录)知识点一:多进程/多线程读取同一个文件,需要对文件进行加锁。知识点二:对单词做统计,所以最好使用按字段分组知识点三:如何得知一个文件的单词统计完了,需要使用storm的可靠消息机制。知识点四:当知道某一个文件的单词统计完后,需要将处理这些单词的bolt结果...
2018-12-06 16:10:06 203
原创 storm_使用streamid的例子
有时同一个spout或者bolt需要发出多类不同的消息。如对一个字串拆分为单词后,将各单词一一发送给各节点,发送完后再发送一条结束的任务。使用方法如下:1.Spout的declareOutputFields方法中定义多组stream:@Overridepublic void declareOutputFields(OutputFieldsDeclarer declarer) {...
2018-12-06 16:07:45 1001
原创 storm_简单的例子
写一个简单的topology,spout处理各单词,第一组bolt给各单词后面添加!!!,然后汇聚到同一个bolt并记录所有的单词及个数。新建一个java项目,HelloStorm。新建一个lib文件夹。将storm0.9.5的lib全拷进去。并全Add to build path。新建三个包:com.gary.topology、com.gary.spout、com.gary.bolt...
2018-12-06 16:06:44 325
原创 storm_bolt详解
可靠的与不可靠的bolt也可以使用IBasicBolt接口实现自动确认: 即,如果bolt不是extends BaseRichBolt,而是extends BaseBasicBolt,上面的代码中不可靠的bolt自动变为可靠的了。2.关于declareOutputFields方法需要重点说一下。在此方法中定义fields,它和nextTuple中的emit中...
2018-12-06 16:04:10 2294
原创 storm_spout详解
1. 可靠的与不可靠的消息如:public class WordSpout extends BaseRichSpout{SpoutOutputCollector _collector;private static final Integer MAX_FAILS = 2;// 最大失败次数Map<Integer, String> _messages;// 全部...
2018-12-06 16:02:29 1898
原创 storm_组件
1. IComponent接口有两个方法:public class component implements IComponent{@Overridepublic void declareOutputFields(OutputFieldsDeclarer arg0) {}@Overridepublic Map<String, Object> getCompo...
2018-12-06 16:00:29 300
原创 storm_拓扑
1.什么是拓扑要使用storm做实时计算,首先需要创建所谓的“拓扑”。一个拓扑是一个有向图的计算。在一个拓扑中的每个节点包含处理逻辑,节点之间的连接显示数据应该如何在节点之间传递。 2.TopologyTopologyBuilder是构建拓扑的类,用于指定执行的拓扑。拓扑底层是Thrift结构,由于Thrift API非常冗长,使用TopologyBuilder可以极大地简化建立拓...
2018-12-06 15:49:20 1159
原创 storm_概念
1.元组(Tuple)元组,是消息传递的基本单元,是一个命名的值列表,元组中的字段可以是任何类型的对象。Storm使用元组作为其数据模型,元组支持所有的基本类型、字符串和字节数组作为字段值,只要实现类型的序列化接口就可以使用该类型的对象。元组本来应该是一个key-value的Map,但是由于名个组件间传递的元组的字段名称已经事先定义好,所以只要按序把元组填入名个value即可,所以元组是一个v...
2018-12-06 14:57:41 219
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人