springboot 集成storm 监控流配置

1.模拟一个监控系统的实现

    @Bean
public TopologyBuilder buildTopology() {
TopologyBuilder builder = new TopologyBuilder();
// builder.setSpout(Constants.KAFKA_SPOUT, new KafkaInsertDataSpout(), 1);
// builder.setSpout(kafkaSpoutBuilder.getId(), kafkaSpout, kafkaSpoutBuilder.getParallelismHint());
// builder.setBolt(logConsoleBoltBuilder.getId(), logConsoleBolt,logConsoleBoltBuilder.getParallelismHint())
// .globalGrouping(logConsoleBoltBuilder.getId());
// builder.setBolt(logConsoleBoltBuilder.getId(), logConsoleBolt,logConsoleBoltBuilder.getParallelismHint())
// .fieldsGrouping(logConsoleBoltBuilder.getId(), new Fields("word"));
// 设置1个Executeor(线程),默认一个
builder.setSpout(KAFKA_SPOUT, kafkaSpout, 1);
// shuffleGrouping:表示是随机分组
// 设置1个Executeor(线程),和两个task
builder.setBolt(logConsoleBoltBuilder.getId(), logConsoleBolt, 1).setNumTasks(1).shuffleGrouping(KAFKA_SPOUT);

//同样的单词分到一个bolt处理(防止多个bolt的sql connection处理同一个单词),分词数据写入Mysql
builder.setBolt(adLogCountToMySQLBoltBuilder.getId(),adLogCountToMySQLBolt,adLogCountToMySQLBoltBuilder.getParallelismHint())
.fieldsGrouping(logConsoleBoltBuilder.getId(), new Fields("adId","updateTime","price"));
// builder.setBolt(adLogCountToMySQLBoltBuilder.getId(),adLogCountToMySQLBolt,adLogCountToMySQLBoltBuilder.getParallelismHint()).setNumTasks(1)
// .shuffleGrouping(logConsoleBoltBuilder.getId());
return builder;
}


猜你喜欢

转载自www.cnblogs.com/flyyu1/p/11451053.html