美文网首页
storm实验结论

storm实验结论

作者: 大大大大大大大熊 | 来源:发表于2018-09-03 09:10 被阅读0次

Spamfilter

节点:anaspout,traspout,tokenizerbolt,wordprobabilitybolt,bayesbolt,kafkasink
节点并行度设置:

  • 112211

    storm多节点运算正确SF_112211.jpg
  • 112231

    storm多节点运算正确SF_112231.jpg
  • 112232

    storm多节点运算正确SF_112232.jpg

WordCount 故障记录

并行度:1111
数据源:“storm”+(i++)+“生成时间”,生成间隔设定:1s
故障前:


故障前
故障恢复后
故障恢复后2
故障恢复后3
故障恢复:丢失数据

61的延迟处理:29s
62:28s
48-61中间的数据生成了,且被丢弃了。

根据官网的API设置bolt的anchor和spout 的msgid,acker的数目设置成1,还是存在了丢失数据


正确设置? kill spilit
还是丢失

并行度:1111
数据源:“storm 生成时间”,间隔1s

故障时:


故障时红色点

故障恢复后:


恢复后

可以看出丢失了407689~420701的数据

kill没有state的spout
spout里有i++
那么恢复后:i重新变成0,相当于spout重新new了个新的,累计的变量初始化了

累计的变量i初始化了

**注意**:kill拓扑重新提交后,也能获取state后重新恢复到kill前的状态

Top-k

没故障运行:左
错误发生48:右

对比1
结论:出错前结果都一样 对比2

发现错误恢复后,结果不对。
而且48~100多的数据实在恢复后快速输出,不是正常产生,
经过前面的wordcount发现,
故障会导致中间部分数据的丢失,
可以查看map的size看看前面的有无丢失?

kill countbolt 发现,word_count map里面的数据会有残余影响下面的排名。

window10+TOP10全拉取对比

分析:word_count残留了上次的数据,比如enterprises不应该在下面出现的,但是每次都有,说明没执行enterprises滑出窗口次数-1的操作。

观察2

右边的直接跳到了正常执行的195的数据,丢失了166~195的数据

Replay Test:在spout中编写了ACK机制

并行度:111
spout----spilit----kafkasink

kill split:

35--45出错

查看日记发现收到超时提示后,重发数据:

image.png

并行度:1111
spout----spilit-----count----kafkasink

kill split:

72-86出错

重发,有些数据重复计算:分析可能是count存了出错时的部分数据状态,但是还没发送ack,spout把这部分数据也超时重发了

重发

count kill:


丢失31-46的数据

数据重发:


image.png

并行度:121
spout----spilit----kafkasink
kill 一个split


发送给kill的数据丢失 超时重发

并行度:1121
spout----spilit-----count----kafkasink

kill在78:
查看log,另一个count 58里发现会发出一部分的ack_fail流,是不是因为78的的count状态锁住了?,58里面不能更改导致了错误?

会发出ack_fail流

字:storm:75 数目:1 输出时间:1536586021596
字:storm:76 数目:1 输出时间:1536586022599
字:storm:77 数目:1 输出时间:1536586023606
字:storm:78 数目:1 输出时间:1536586024605
字:storm:81 数目:1 输出时间:1536586027615
字:storm:83 数目:1 输出时间:1536586029621
字:storm:85 数目:1 输出时间:1536586031628
字:storm:87 数目:1 输出时间:1536586033633
字:storm:89 数目:1 输出时间:1536586035638
字:storm:90 数目:1 输出时间:1536586036643
字:storm:92 数目:1 输出时间:1536586038652
字:storm:94 数目:1 输出时间:1536586040656
字:storm:96 数目:1 输出时间:1536586042660
字:storm:98 数目:1 输出时间:1536586044667
字:storm:100 数目:1 输出时间:1536586046673
字:storm:102 数目:1 输出时间:1536586048678
字:storm:104 数目:1 输出时间:1536586050683
字:storm:106 数目:1 输出时间:1536586052689
字:storm:108 数目:1 输出时间:1536586054693
字:storm:111 数目:1 输出时间:1536586057701
字:storm:113 数目:1 输出时间:1536586059705
字:storm:115 数目:1 输出时间:1536586061711
字:storm:117 数目:1 输出时间:1536586063716
字:storm:91 数目:1 输出时间:1536586063843
字:storm:93 数目:1 输出时间:1536586063845
字:storm:95 数目:1 输出时间:1536586063848
字:storm:97 数目:1 输出时间:1536586063852
字:storm:99 数目:1 输出时间:1536586063854
字:storm:101 数目:1 输出时间:1536586063856
字:storm:103 数目:1 输出时间:1536586063858
字:storm:105 数目:1 输出时间:1536586063859
字:storm:107 数目:1 输出时间:1536586063860
字:storm:109 数目:1 输出时间:1536586063862
字:storm:110 数目:1 输出时间:1536586063864
字:storm:112 数目:1 输出时间:1536586063866
字:storm:114 数目:1 输出时间:1536586063869
字:storm:116 数目:1 输出时间:1536586063874
字:storm:118 数目:1 输出时间:1536586064721
字:storm:78 数目:1 输出时间:1536586064723
字:storm:81 数目:1 输出时间:1536586064725
字:storm:83 数目:1 输出时间:1536586064729
字:storm:85 数目:1 输出时间:1536586064730
字:storm:87 数目:1 输出时间:1536586064732
字:storm:89 数目:1 输出时间:1536586064735
字:storm:90 数目:1 输出时间:1536586064736
字:storm:92 数目:1 输出时间:1536586064751
字:storm:94 数目:1 输出时间:1536586064752
字:storm:96 数目:1 输出时间:1536586064753
字:storm:98 数目:1 输出时间:1536586064754
字:storm:100 数目:1 输出时间:1536586064755
字:storm:102 数目:1 输出时间:1536586064756
字:storm:104 数目:1 输出时间:1536586064757
字:storm:106 数目:1 输出时间:1536586064758
字:storm:108 数目:1 输出时间:1536586064762
字:storm:111 数目:1 输出时间:1536586064767
字:storm:113 数目:1 输出时间:1536586064768
字:storm:115 数目:1 输出时间:1536586064770
字:storm:117 数目:1 输出时间:1536586064772
字:storm:119 数目:1 输出时间:1536586065788
字:storm:120 数目:1 输出时间:1536586066810
字:storm:84 数目:1 输出时间:1536586066816
字:storm:88 数目:1 输出时间:1536586066818
字:storm:79 数目:1 输出时间:1536586066820
字:storm:82 数目:1 输出时间:1536586066822
字:storm:86 数目:1 输出时间:1536586066824
字:storm:80 数目:1 输出时间:1536586066827
字:storm:121 数目:1 输出时间:1536586067830
字:storm:122 数目:1 输出时间:1536586068837
字:storm:123 数目:1 输出时间:1536586069840

全部fail

并行度:111
kafkaspout----spilit----kafkasink
kill 一个split

kill在40

kafkaspout能正确有序恢复!!!!!!,采用这个好

并行度:1111
spout----spilit-----count----kafkasink

kill 一个split

split延迟1s的时候,后面count不能正常运行。比如输出很迟,redis里面state都没建立

redis里state没保存,数目0


image.png

kill 1个split


结果

分析:20-39的spout未ACK导致了重发,但是数目为什么不是2?

count并行度4:乱序问题


结果输出

很多并行度:
kill拓扑,重新启动,
会读取redis中存储的状态


image.png

redis中的状态
:1000条记录,每个bolt存200个


image.png

window

topK count并行度2:那么会出现2个窗口?
输入aaaabbbccd,count5


image.png

topk

并行度count1,rank2
结果分析:kill count在榜单11,造成了12的计算错误,13的数据丢失


image.png

并行度count1,rank2:70 rank,
74 rankcheckpoint


log 74

结果分析:kill 1个70 rank在榜单15,会导致暂停
分析:除了丢失了榜单15-19,其他运算正确,和没出错的一样


image.png

结果分析:kill 1个74 rank checkpoint在榜单28,
发现没有停止进行输出,没有影响运算


image.png

但是会导致70bolt的相关信息输出fail信息:

70bolt_fail

SG

基础逻辑检验:使用testtopology,时间窗口3s,滑动1s


image.png
image.png

多并行度运算对比

wordcount:

注意sink得1,多个并行度会导致结果乱序

左边1,右边3


image.png

topk

并行度1:

image.png

1---3---1
count并行度为3:


image.png

错误运算

设置count并行度为1,运算正确:


image.png

发现多个window_bolt会维护自己的窗口,导致逻辑错误
并行度count3,rank1


image.png

总结:count和rank也不能多并行度,逻辑错误

parser多的也不行,因为顺序不一样:


image.png

parser3:,count1,filed,正常:


image.png

wordcount 多并行度

spout---split------count------sink

1333:

结论:运行错误

image.png

1331:
结果乱序


image.png

相关文章

  • storm实验结论

    Spamfilter 节点:anaspout,traspout,tokenizerbolt,wordprobabi...

  • storm实验想法

    经验 WC:input 2K/S , max 设置3000 Metrics获取 storm 方法一:metrics...

  • storm实验问题

    at least once checkpoint,只能保证恢复到最近一次的状态,但是fail的tuple不能重发,...

  • flink实验结论

    SpamFilter 单节点:并行度111111 多节点:并行度112211 多节点:并行度112222

  • Storm入门

    Storm 基本介绍 什么是 Storm 首先Storm是Apache顶级项目之一Storm 官网 Storm 是...

  • java大数据之storm

    一、Storm简介 1.1 Storm是什么 Apache Storm(http://storm.apache.o...

  • 999999555545665

    (从现象-问题-猜想-实验-结果-结论-解释现象)

  • 科学学习杂谈

    基于事实的沟通,首先得去看看事实。 科学课,去观察实验,依据当下实验的现象去猜想、结论。当结论脱离当下,哪怕再有道...

  • Apache Storm

    Apache Storm Apache Storm Use Cases Real Time Storm Proje...

  • Storm 性能优化

    目录 场景假设 调优步骤和方法 Storm 的部分特性 Storm 并行度 Storm 消息机制 Storm UI...

网友评论

      本文标题:storm实验结论

      本文链接:https://www.haomeiwen.com/subject/rhxbwftx.html