统计图书点击的次数1128

本文介绍了如何在BookViewController中使用Log4j记录图书搜索事件,然后通过启动Zookeeper、Kafka、Storm集群来收集和处理日志。接着利用Flume从日志文件读取数据,经过 Storm 中的ReadBolt进行处理,将含有图书ID的部分发送到Redis存储。最后,通过Redis Desktop Manager查看统计结果,并展示了WriteCountBolt的代码修改来完成数据写入。
摘要由CSDN通过智能技术生成

打开book

在 BookViewController 里 添加 (导入的包 import org.apache.log4j.Logger;)

private Logger log4j=Logger.getLogger(BookViewController.class);
在这里插入图片描述
添加 log4j.info(“book be searched :”+bookId);
在这里插入图片描述
启动项目采集日志 去c盘log中查看
在这里插入图片描述
启动虚拟机

启动zk:
zjgm01,zjgm02,zjgm03
zkServer.sh start

启动kafka
zjgm01,zjgm02,zjgm03
kafka-server-start.sh /home/hadoop/app/kafka_2.11-0.11.0.2/config/server.properties

启动storm
zjgm01
storm nimbus (如果失败就删掉hadoop/app/apache-storm-0.9.2-incubating/bin/storm-local 里的文件)

zjgm02,zjgm03
storm supervisor (如果失败就删掉hadoop/app/apache-storm-0.9.2-incubating/bin/storm-local 里的文件)

在 cd /home/hadoop/flumedata 下 上传 log.log

启动flume
flume-ng agent --conf conf --conf-file /home/hadoop/app/apache-flume-1.9.0-bin/conf/my.conf --name a1 -Dflume.root.logger=INFO,console
(ks.conf 为自己的conf文件名)

stormkafka,
修改“ReadBolt.java”部分代码如下

int index = s.indexOf(“book be searched:”);
if(index!=-1 && s.length()>=index + 23){
String s1 = s.substring(index + 18, index + 23);
basicOutputCollector.emit(new Values(s1));
}

运行
在这里插入图片描述
在这里插入图片描述

安装“RedisDesktopManager”
双击安装,下一步到底完成

打开点击左下角

新建如下

打开idea的“stormkafka”项目,修改“WriteCountBolt.java”代码如下

Jedis jedis=null;

@Override
public void prepare(Map stormConf, TopologyContext context) {
    jedis=new Jedis("127.0.0.1",6379);
}

@Override
public void execute(Tuple tuple, BasicOutputCollector basicOutputCollector) {
    String s=tuple.getString(0);
    jedis.hincrBy("thingIds",s,1);
}

@Override
public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) {

}

运行后可在Redis中看到
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值