
storm
文章平均质量分 68
qq_41665356
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
storm_概念
1.元组(Tuple) 元组,是消息传递的基本单元,是一个命名的值列表,元组中的字段可以是任何类型的对象。Storm使用元组作为其数据模型,元组支持所有的基本类型、字符串和字节数组作为字段值,只要实现类型的序列化接口就可以使用该类型的对象。元组本来应该是一个key-value的Map,但是由于名个组件间传递的元组的字段名称已经事先定义好,所以只要按序把元组填入名个value即可,所以元组是一个v...原创 2018-12-06 14:57:41 · 273 阅读 · 0 评论 -
storm_伪集群安装
创建linux虚拟机,用户名密码都为gary,ip为192.168.32.131。 关闭防火墙: service iptables stop chkconfig iptables off 查看防火墙状态: service iptables status 安装jdk 下载并解压jdk: 在linux下创建/opt/java目录,将将jdk中的文件复制过去。 然后添加环境变量,在/et...原创 2018-12-07 12:01:26 · 728 阅读 · 0 评论 -
storm_可靠消息的例子
这是一个比较复杂的例子,含盖的知识面较多。 需求:统计出某文件夹下各文件中,各个单词出现的数次。(同时将文件剪切到另一个目录) 知识点一:多进程/多线程读取同一个文件,需要对文件进行加锁。 知识点二:对单词做统计,所以最好使用按字段分组 知识点三:如何得知一个文件的单词统计完了,需要使用storm的可靠消息机制。 知识点四:当知道某一个文件的单词统计完后,需要将处理这些单词的bolt结果...原创 2018-12-06 16:10:06 · 249 阅读 · 0 评论 -
storm_使用streamid的例子
有时同一个spout或者bolt需要发出多类不同的消息。如对一个字串拆分为单词后,将各单词一一发送给各节点,发送完后再发送一条结束的任务。 使用方法如下: 1.Spout的declareOutputFields方法中定义多组stream: @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { ...原创 2018-12-06 16:07:45 · 1045 阅读 · 0 评论 -
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 · 372 阅读 · 0 评论 -
storm_bolt详解
可靠的与不可靠的bolt 也可以使用IBasicBolt接口实现自动确认: 即,如果bolt不是extends BaseRichBolt,而是extends BaseBasicBolt,上面的代码中不可靠的bolt自动变为可靠的了。 2.关于declareOutputFields方法需要重点说一下。 在此方法中定义fields,它和nextTuple中的emit中...原创 2018-12-06 16:04:10 · 2358 阅读 · 0 评论 -
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 · 1952 阅读 · 0 评论 -
storm_组件
1. IComponent接口 有两个方法: public class component implements IComponent{ @Override public void declareOutputFields(OutputFieldsDeclarer arg0) { } @Override public Map<String, Object> getCompo...原创 2018-12-06 16:00:29 · 347 阅读 · 0 评论 -
storm_拓扑
1.什么是拓扑 要使用storm做实时计算,首先需要创建所谓的“拓扑”。一个拓扑是一个有向图的计算。在一个拓扑中的每个节点包含处理逻辑,节点之间的连接显示数据应该如何在节点之间传递。 2.Topology TopologyBuilder是构建拓扑的类,用于指定执行的拓扑。拓扑底层是Thrift结构,由于Thrift API非常冗长,使用TopologyBuilder可以极大地简化建立拓...原创 2018-12-06 15:49:20 · 1216 阅读 · 0 评论 -
storm_命令行
原创 2018-12-06 15:27:01 · 398 阅读 · 0 评论 -
storm_拓扑的并行度
1.3个实体 2.并行度 3.拓扑示例 对于一个线程中有多个任务的情况下,任务会被顺序执行。 4.修改运行中拓扑的并行度原创 2018-12-06 15:02:48 · 173 阅读 · 0 评论 -
storm_安装与配置
安装storm集群的步骤如下: 搭建ZooKeeper集群; 安装storm依赖库; 下载并解压storm发行版本; 配置storm.yaml文件; 启动storm的各个守护进程; 1.搭建zookeeper集群 详见zookeeper章节。 2.安装storm依赖库 2.1消息传输机制 消息队列ZeroMQ和JZMQ ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传...原创 2018-12-07 12:01:37 · 472 阅读 · 0 评论