在执行storm的定时任务时,发现storm普通任务数据量过大时造成定时任务不执行,
同时设置了storm的普通任务和定时任务,定时任务设置5秒执行1次。
普通任务的数据时从spout中不停发射字符串到包含定时任务的bolt中。
实际运行时,发现全部是普通任务打印出的消息,定时任务打印的消息压根就没有。
原因:普通任务的数据量过大。???还是有点不理解。
解决方法:
1.把所有的非定时任务的sout注释掉,只打印定时任务的sout消息。
2.在上游的spout中,设置Thread.sleep(3000); 减少上游spout发射过来的数据。
写了几行代码,计算CPU在1秒钟内执行的次数,即CPU的频率,不知道这么算对不对:
long l = System.currentTimeMillis();long c = 0;while(System.currentTimeMillis() <= l + 1000l){ c++;}System.out.println("CPU一秒钟执行的次数:" + c); //154563242,152381064,158432901,144697167System.out.println(Long.MAX_VALUE); //9223372036854775807
转载于:https://www.cnblogs.com/mediocreWorld/p/11285177.html
相关资源:JAVA上百实例源码以及开源项目