(三 )kafka-jstorm集群实时日志分析 之 ---------jstorm集成spring 续(代码)
本地模式启动的.
package com.doctor.kafkajstrom; import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit; import org.apache.commons.lang.RandomStringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext; import com.doctor.kafkajstrom.log.manager.LogManager;
import com.doctor.kafkajstrom.util.SpringUtil; import backtype.storm.Config;
import backtype.storm.LocalCluster;
import backtype.storm.spout.SpoutOutputCollector;
import backtype.storm.task.OutputCollector;
import backtype.storm.task.TopologyContext;
import backtype.storm.topology.OutputFieldsDeclarer;
import backtype.storm.topology.TopologyBuilder;
import backtype.storm.topology.base.BaseRichBolt;
import backtype.storm.topology.base.BaseRichSpout;
import backtype.storm.tuple.Fields;
import backtype.storm.tuple.Tuple;
import backtype.storm.tuple.Values; public class LocalJstormMain { public static void main(String[] args) {
// Topology definition
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("word-reader", new WordReaderSpoutCh03());
builder.setSpout("signals-spout", new SignalsSpoutCh03(),6);
builder.setBolt("word-normalizer", new WordTransformBoltCh03(),6)
.shuffleGrouping("word-reader"); builder.setBolt("word-counter", new WordCounterBoltCh03(), 2)
.fieldsGrouping("word-normalizer", new Fields("word"))
.allGrouping("signals-spout", "signals"); // Configuration
Config conf = new Config();
conf.setNumWorkers(3);
conf.setDebug(true);
// Topology run
conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING, 1);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("Count-Word-Toplogy-With-Refresh-Cache", conf, builder.createTopology()); // try {
// TimeUnit.MINUTES.sleep(2);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// cluster.killTopology("Count-Word-Toplogy-With-Refresh-Cache");
// cluster.shutdown(); } public static class WordReaderSpoutCh03 extends BaseRichSpout {
private static final Logger log = LoggerFactory.getLogger(WordReaderSpoutCh03.class); private static final long serialVersionUID = 1L; private TopologyContext context; private SpoutOutputCollector collector; private static final String WORDS = "sjdkfjksdjfdkjaaa中涉及看对方的罚款多级"; @Override
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
this.context = context;
this.collector = collector; } @Override
public void ack(Object msgId) {
log.info("{Ok:{}}", msgId);
} @Override
public void fail(Object msgId) {
log.info("{Ok:{}}", msgId);
} @Override
public void nextTuple() { this.collector.emit(new Values(RandomStringUtils.random(6, WORDS)));
} @Override
public void declareOutputFields(OutputFieldsDeclarer declarer) {
declarer.declare(new Fields("line")); } } public static class SignalsSpoutCh03 extends BaseRichSpout { private static final long serialVersionUID = 1L;
private SpoutOutputCollector spoutOutputCollector; @Override
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
this.spoutOutputCollector = collector;
} @Override
public void nextTuple() {
this.spoutOutputCollector.emit("signals", new Values("refreshCache"));
try {
TimeUnit.MILLISECONDS.sleep(2);
} catch (Throwable e) {
} } @Override
public void declareOutputFields(OutputFieldsDeclarer declarer) {
declarer.declareStream("signals", new Fields("action")); } } public static class WordTransformBoltCh03 extends BaseRichBolt { private static final long serialVersionUID = 1L;
private OutputCollector collector;
private int numCounterTasks = 0; @Override
public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) {
this.collector = collector;
this.numCounterTasks = context.getComponentTasks("word-counter").size();
} @Override
public void execute(Tuple input) {
String[] lines = input.getString(0).split(" ");
for (String line : lines) {
String lowerCase = line.trim().toLowerCase();
if (!lowerCase.isEmpty()) {
this.collector.emit(new Values(line));
}
} this.collector.ack(input);
} @Override
public void declareOutputFields(OutputFieldsDeclarer declarer) {
declarer.declare(new Fields("word")); }
} public static class WordCounterBoltCh03 extends BaseRichBolt {
private static final Logger log = LoggerFactory.getLogger(WordCounterBoltCh03.class); private static final long serialVersionUID = 1L;
private Map<String, Integer> countMap;
private OutputCollector collector;
private String name;
private int id; private static final ApplicationContext applicationContext;
private static final LogManager logManager; static{
applicationContext = SpringUtil.of("learningJstormConfig/spring-kafkabolt-context.xml");
logManager = applicationContext.getBean(LogManager.class);
log.info("--------------ApplicationContext initialized from learningJstormConfig/spring-kafkabolt-context.xml ");
} @Override
public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) {
this.countMap = new HashMap<>();
this.collector = collector;
this.name = context.getThisComponentId();
this.id = context.getThisTaskId();
log.info("-----------------WordCounterBoltCh03 prepare");
} @Override
public void execute(Tuple input) {
String word = null;
try {
word = input.getStringByField("word");
} catch (Throwable e) {
}
if (null != word) {
if (!countMap.containsKey(word)) {
countMap.put(word, 1);
} else {
Integer count = countMap.get(word);
count++;
countMap.put(word, count); logManager.write(word + ":" + countMap.get(word));
}
} else {
if ("signals.".equals(input.getSourceStreamId()) && "refreshCache".equals(input.getStringByField("action"))) {
cleanup();
countMap.clear();
}
} this.collector.ack(input); } @Override
public void declareOutputFields(OutputFieldsDeclarer declarer) { } @Override
public void cleanup() {
log.info("{cleanup................}");
countMap.forEach((k, v) -> {
log.info("{clean up.................}");
log.info("k : {} , v : {}", k, v);
});
} }
}
Spring载入代码:
public final class SpringUtil {
private SpringUtil() {
throw new IllegalAccessError("constructor should not access");
} public static ApplicationContext of(String classPathConfigLocation){
return new ClassPathXmlApplicationContext(classPathConfigLocation);
}
}
spring 配置文件:
<? xml version="1.0" encoding="UTF-8"? >
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd"> <import resource="classpath:/learningJstormConfig/dubbo-provider.xml"/>
<context:component-scan base-package="com.doctor.kafkajstrom.log.manager.imp" />
<context:component-scan base-package="com.doctor.kafkajstrom.log.service.imp" />
<context:component-scan base-package="com.doctor.kafkajstrom.component" />
</beans>
部分执行结果:
59519 [word-counter:2-BoltExecutors] ERROR kafka.producer.async.DefaultEventHandler - Failed to send requests for topics kafka-test with correlation ids in [145,152]
10-30 22:15:11.581 word-counter:2-BoltExecutors INFO c.d.k.l.m.i.LogManagerImp - LogManagerImp write method :jdjkkj:2
10-30 22:15:12.021 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[的kakd的]
10-30 22:15:12.021 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[a罚j的j的]
10-30 22:15:12.021 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[涉方的级df]
10-30 22:15:12.021 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [2]:[kkas罚d]
10-30 22:15:12.021 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [2]:[对ja看sf]
10-30 22:15:12.022 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[a对的及kd]
10-30 22:15:12.022 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[及ks中方中]
10-30 22:15:12.022 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[j多方多级级]
10-30 22:15:12.022 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[涉j对fas]
10-30 22:15:12.022 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [1]:[kasa款级]
10-30 22:15:12.022 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [2]:[j多多aa多]
10-30 22:15:12.022 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [2]:[fjda涉及]
10-30 22:15:12.022 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[kkja涉及]
10-30 22:15:12.022 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [2]:[及s及ddk]
10-30 22:15:12.022 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [2]:[s及dks对]
10-30 22:15:12.022 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [1]:[jfd中a中]
10-30 22:15:12.023 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [2]:[jadj及涉]
10-30 22:15:12.023 signals-spout:15-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10-30 22:15:12.023 signals-spout:14-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10-30 22:15:12.023 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [2]:[多a多中a涉]
10-30 22:15:12.023 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[多方多及ad]
10-30 22:15:12.023 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [1]:[d中djfd]
10-30 22:15:12.024 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [1]:[及fd款对j]
10-30 22:15:12.024 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [1]:[及ksjjs]
10-30 22:15:12.024 signals-spout:11-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10-30 22:15:12.024 signals-spout:12-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10-30 22:15:12.024 signals-spout:16-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10-30 22:15:12.024 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [1]:[j多f多kj]
10-30 22:15:12.025 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [2]:[中看f中罚a]
10-30 22:15:12.025 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[s罚j款看罚]
10-30 22:15:12.025 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [1]:[f罚s及多罚]
10-30 22:15:12.025 signals-spout:13-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10-30 22:15:12.025 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [2]:[款kk级f涉]
10-30 22:15:12.026 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [1]:[k多k对方k]
10-30 22:15:12.026 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [2]:[fs的及aj]
10-30 22:15:12.026 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[j看款k级款]
10-30 22:15:12.027 signals-spout:14-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10-30 22:15:12.027 signals-spout:15-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10-30 22:15:12.027 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[df的aaj]
10-30 22:15:12.027 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [2]:[及对级djd]
10-30 22:15:12.027 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [2]:[a级j对的看]
10-30 22:15:12.028 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [2]:[k罚a涉及k]
10-30 22:15:12.028 signals-spout:16-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10-30 22:15:12.028 signals-spout:12-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10-30 22:15:12.028 signals-spout:11-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10-30 22:15:12.028 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [2]:[款涉罚dad]
10-30 22:15:12.029 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [2]:[看中d方aj]
10-30 22:15:12.029 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [1]:[jaj中对款]
10-30 22:15:12.029 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [2]:[jk中d级看]
10-30 22:15:12.029 signals-spout:13-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10-30 22:15:12.030 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [1]:[中j对kj及]
10-30 22:15:12.030 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [1]:[d中罚的k中]
10-30 22:15:12.030 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [1]:[kj多方d对]
10-30 22:15:12.031 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[sa看j的d]
10-30 22:15:12.031 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [1]:[的k多f款多]
10-30 22:15:12.031 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [1]:[kj中js的]
10-30 22:15:12.031 signals-spout:14-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10-30 22:15:12.031 signals-spout:15-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10-30 22:15:12.031 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [2]:[d中jkss]
10-30 22:15:12.032 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [1]:[涉看k看的a]
10-30 22:15:12.032 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [1]:[a级对级及看]
10-30 22:15:12.032 signals-spout:16-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10-30 22:15:12.032 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[jdjak看]
10-30 22:15:12.032 signals-spout:12-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10-30 22:15:12.032 signals-spout:11-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10-30 22:15:12.032 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[级fa方kj]
10-30 22:15:12.032 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [1]:[对kaj中方]
10-30 22:15:12.033 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [2]:[ajdj中d]
10-30 22:15:12.033 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [2]:[jdd及对对]
10-30 22:15:12.033 signals-spout:13-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10-30 22:15:12.033 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [2]:[f的ff罚f]
10-30 22:15:12.034 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[saaada]
10-30 22:15:12.034 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[ska方对s]
10-30 22:15:12.034 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [1]:[罚aj中d看]
10-30 22:15:12.034 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [1]:[dsj多看对]
10-30 22:15:12.035 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [2]:[j级s对aj]
10-30 22:15:12.035 signals-spout:15-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10-30 22:15:12.035 signals-spout:14-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10-30 22:15:12.035 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [1]:[sj中涉方a]
10-30 22:15:12.035 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[akkjdf]
10-30 22:15:12.035 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[kad及s方]
10-30 22:15:12.036 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [1]:[a看中a看d]
10-30 22:15:12.036 signals-spout:16-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10-30 22:15:12.036 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [1]:[k级看k的涉]
10-30 22:15:12.036 signals-spout:12-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10-30 22:15:12.036 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [2]:[kdaaa及]
10-30 22:15:12.036 signals-spout:11-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10-30 22:15:12.037 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [1]:[级多jjjj]
10-30 22:15:12.037 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [2]:[及jsajd]
10-30 22:15:12.037 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [1]:[及a款afs]
10-30 22:15:12.037 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [1]:[款对j罚k看]
10-30 22:15:12.037 signals-spout:13-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10-30 22:15:12.037 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [2]:[k级asa方]
10-30 22:15:12.037 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [2]:[f款sk涉方]
10-30 22:15:12.038 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [1]:[ks及多款a]
10-30 22:15:12.038 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[fjkfa看]
10-30 22:15:12.038 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [1]:[fjjaa对]
10-30 22:15:12.038 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [1]:[jfkf对k]
10-30 22:15:12.038 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [2]:[款涉多s方级]
10-30 22:15:12.038 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [1]:[级及kss级]
10-30 22:15:12.038 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [2]:[涉k中kjj]
10-30 22:15:12.038 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[jjjdjs]
10-30 22:15:12.038 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[ajjadf]
10-30 22:15:12.038 signals-spout:15-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:15 signals to [1, 2]:[refreshCache]
10-30 22:15:12.038 signals-spout:14-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:14 signals to [1, 2]:[refreshCache]
10-30 22:15:12.038 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [2]:[f对dd多a]
10-30 22:15:12.039 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [2]:[方级j涉中款]
10-30 22:15:12.039 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [2]:[看看及级aj]
10-30 22:15:12.039 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [2]:[fd方d多涉]
10-30 22:15:12.039 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [2]:[的j对as级]
10-30 22:15:12.039 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [2]:[ka罚对看j]
10-30 22:15:12.039 signals-spout:16-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:16 signals to [1, 2]:[refreshCache]
10-30 22:15:12.039 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [2]:[djs款fa]
10-30 22:15:12.039 signals-spout:12-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:12 signals to [1, 2]:[refreshCache]
10-30 22:15:12.039 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [1]:[款的及jf方]
10-30 22:15:12.040 signals-spout:11-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:11 signals to [1, 2]:[refreshCache]
10-30 22:15:12.040 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [1]:[ddskjs]
10-30 22:15:12.040 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [1]:[款asjjk]
10-30 22:15:12.040 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [1]:[s级jas级]
10-30 22:15:12.040 word-normalizer:7-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:7 default to [1]:[da及s及方]
10-30 22:15:12.040 word-normalizer:8-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:8 default to [2]:[款saajs]
10-30 22:15:12.040 word-normalizer:3-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:3 default to [1]:[k中djsj]
10-30 22:15:12.040 signals-spout:13-SingleThreadSpoutExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from signals-spout:13 signals to [1, 2]:[refreshCache]
10-30 22:15:12.041 word-normalizer:4-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:4 default to [1]:[akf中罚罚]
10-30 22:15:12.041 word-normalizer:6-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:6 default to [2]:[j看的看方k]
10-30 22:15:12.041 word-normalizer:5-BoltExecutors INFO c.a.j.t.c.TaskSendTargets - Emit from word-normalizer:5 default to [2]:[djjaa及]
(三 )kafka-jstorm集群实时日志分析 之 ---------jstorm集成spring 续(代码)的更多相关文章
- (一个)kafka-jstorm集群实时日志分析 它 ---------kafka实时日志处理
package com.doctor.logbackextend; import java.util.HashMap; import java.util.List; import java.util. ...
- 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署
最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...
- 三种Tomcat集群方式的优缺点分析
三种Tomcat集群方式的优缺点分析 2009-09-01 10:00 kit_lo kit_lo的博客 字号:T | T 本文对三种Tomcat集群方式的优缺点进行了分析.三种集群方式分别是:使用D ...
- 【转】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
[转自]https://my.oschina.net/itblog/blog/547250 摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticS ...
- 苏宁基于Spark Streaming的实时日志分析系统实践 Spark Streaming 在数据平台日志解析功能的应用
https://mp.weixin.qq.com/s/KPTM02-ICt72_7ZdRZIHBA 苏宁基于Spark Streaming的实时日志分析系统实践 原创: AI+落地实践 AI前线 20 ...
- ELK实时日志分析平台环境部署--完整记录
在日常运维工作中,对于系统和业务日志的处理尤为重要.今天,在这里分享一下自己部署的ELK(+Redis)-开源实时日志分析平台的记录过程(仅依据本人的实际操作为例说明,如有误述,敬请指出)~ ==== ...
- 【Big Data - ELK】ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究 ...
- ELK实时日志分析平台环境部署--完整记录(转)
在日常运维工作中,对于系统和业务日志的处理尤为重要.今天,在这里分享一下自己部署的ELK(+Redis)-开源实时日志分析平台的记录过程(仅依据本人的实际操作为例说明,如有误述,敬请指出)~ ==== ...
- 分布式实时日志分析解决方案ELK部署架构
一.概述 ELK 已经成为目前最流行的集中式日志解决方案,它主要是由Beats.Logstash.Elasticsearch.Kibana等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解决 ...
随机推荐
- pandas深入理解
Pandas是一个Python库,旨在通过“标记”和“关系”数据以完成数据整理工作,库中有两个主要的数据结构Series和DataFrame In [1]: import numpy as np In ...
- node generator 模仿co
exports.run = function(fn ){ return function(onDone){ function thunk(tfn , ctx){ return function(sql ...
- 每一个程序猿都须要了解的一个SQL技巧
对于数据过滤而言CHECK约束已经算是相当不错了.然而它仍存在一些缺陷,比方说它们是应用到表上面的,但有的时候你可能希望指定一条约束,而它仅仅在特定条件下才生效. 使用SQL标准的WITH CHECK ...
- VC 对话框程序加入工具栏button图标及其buttontooltip
注意:本人使用VC++2010开发环境进行測试. 在使用VC开发对话框程序时不像开发单文档程序和多文档程序那么方便,非常多资源都须要自己手动加入.近期在开发一个程序时.想尝试在对话框程序里面加入 工具 ...
- UVA 11728 - Alternate Task 数学
Little Hasan loves to play number games with his friends. One day they were playing a game whereone ...
- 从Oracle转到Mysql前需了解的50件事
我本人比较关心的几点: 1. 对子查询的优化表现不佳. 2. 对复杂查询的处理较弱 4. 性能优化工具与度量信息不足 12. 支持 SMP (对称多处理器),但是如果每个处理器超过 4 或 8 个核( ...
- Python写99乘法表
#!/usr/bin/python# -*- encoding:utf-8 -*- for i in range(1,10): s='' for j in range(1,i+1): ...
- Ubuntu 16.04安装Caffe的记录及FCN官方代码的配置
相关内容搜集自官方文档与网络,既无创新性,也不求甚解,我也不了解Caffe,仅仅搭上之后做个记录,方便以后重装 安装依赖项sudo apt-get install libprotobuf-dev li ...
- BarTender无法连接到数据库?原来是微软补丁包捣的鬼
近期有很多BarTender用户反映,在使用BarTender设计打印条码时,经常会出现错误消息6670 的提示,使得BarTender无法连接到数据库,究其原因,原来是微软补丁包捣的鬼.目前海鸥科技 ...
- 阿里云数据库MySQL版快速上手!
MySQL是全球最受欢迎的开源数据库,其在各Web应用中均有广泛部署.阿里云数据库MySQL版基于Alibaba的MySQL源码分支,经过双11高并发.大数据量的考验,拥有优良的性能和吞吐量.除此之外 ...