
storm
岁月人
极客精神,热衷源码探索,持续学习
跟随云原生脚步,探索深度学习方向
展开
-
storm初级教程 008 DRPC 详解
drpc的工作原理DRPC由storm构成服务端,DRPCClient构成客户端;reach是storm的一个拓扑定义的函数名称 ,(推特url)是请求参数而linearDRPCTopologyBuilder实现了DRPC的封装,构造函数参数也就是客户端需要传入的函数名;【同时也是自定义拓扑时候DRPCSpout的函数名称,drpcSpout从客户端指定的函数接收输入流】...原创 2019-10-17 16:44:47 · 652 阅读 · 0 评论 -
storm初级教程 007 消息可靠性如何防oom
spout fail重发的明确定义是目标spout调用fail或者超过失败超时时间而ack则是被所有的bolt处理完毕调用详解ack代码不完善导致的OOM异常;每一个tuple成为可靠性消息的时候都会创建消息树,消息树在spout中的创建是msgId this.collector.emit(new Values(sentences[index]),msgID)...原创 2019-10-13 17:04:32 · 173 阅读 · 0 评论 -
storm初级教程-后半部 008 研发技巧vs运维技巧
常见经验原创 2019-10-13 15:55:48 · 139 阅读 · 0 评论 -
storm初级教程 005 storm核心之拓扑
拓扑是指在storm运行的计算[storm jar app.jar com.XXX.main] 则main函数包含了一个拓扑的定义,拓扑指定了一个计算的配置,spout,bolt以及每个组件之间的stream grouping[也就是订阅者如何订阅被订阅者的规则:流分组] 拓扑由上述拓扑构建者构建,number为并行度/执行器数量,不指定默认为1;流分组有8...原创 2019-10-12 10:03:10 · 176 阅读 · 0 评论 -
storm初级教程 001 storm简介
topology: 一个拓扑是一个图的计算,类似于mapreducestream: 流 其实就是数据的抽象,storm将数据封装成元组结构tuple;所有机器上的某个topology任务的数据构成流spout: 数据源 一般是队列消费端bolt: 数据处理单元:负责计算,传输tuple,存储数据;在bolt可以新起线程stream grouping 流分组:定义在blot中流应该...原创 2019-10-10 21:16:37 · 231 阅读 · 0 评论 -
storm初级教程 002 strom基础教程
1元组public void execute(Tuple input) { this.collector.emit(new Values("元组values1","元组values2")); this.collector.ack(input);// 提供可靠性保障}public void declareOutputFields(OutputFieldsDeclarer...原创 2019-10-10 22:10:26 · 176 阅读 · 0 评论 -
storm初级教程 003 storm 配置以及简述动态类型序列化
一配置篇在github仓库中,default.yaml列出各项配置;https://github.com/apache/storm/blob/master/conf/defaults.yaml通过配置storm.yaml配置相应参数 启动参数配置以及 bolt和spout也可以做代码配置此外org.apache.storm.Config可以对拓扑进行相应配置,配置内容可以参...原创 2019-10-10 23:18:05 · 197 阅读 · 0 评论 -
storm初级教程 004 可容错 可靠性 以及传输层通信调优
前言容错nimbus单点时,死亡不影响集群worker工作,但此时worker节点挂掉不会被重新分配nimbus HA时,随便挂,由于元数据外挂,无状态特性以及挂掉重启特性 所以基本无影响supervisor: 挂掉也会重启worker:挂掉会重启一定次数直到分配到其他节点容错可靠性spout 来控制可靠性默认超时时间30s Config.TOPOLOGY_MESSAGE_T...原创 2019-10-10 23:44:41 · 176 阅读 · 0 评论