项目简介
本项目是一个基于Apache Flink和Kafka的实时用户行为日志分析系统。该系统用于分析论坛平台产生的用户点击日志,先通过Flume收集日志并推送到Kafka,再利用Flink进行实时分析处理,最后将处理结果写入MySQL数据库,以便前端应用进行可视化展示。
项目的主要特性和功能
- 日志收集与传输:利用Flume收集Apache日志,并将其推送至Kafka,支持实时日志数据的收集和传输。
- 日志分析处理:使用Flink对日志进行实时分析处理,可统计热门板块、热门文章以及不同客户端的总访问量。
- 数据存储与可视化:将分析结果写入MySQL数据库,并提供前端应用接口,用于可视化展示分析结果。
- 论坛平台搭建:借助Docker搭建论坛平台,生成用户行为日志。
安装使用步骤
1. 环境准备
确保已安装以下软件: - Docker - Apache Flume - Apache Kafka - Apache Flink - MySQL
2. 下载项目源码
假设用户已经下载了本项目的源码文件。
3. 搭建论坛平台
使用Docker搭建论坛平台:
bash
cd resouces/discuz
docker-compose up -d
访问地址:http://localhost:41062/
4. 启动Flume与Kafka集成
使用Docker启动Flume与Kafka集成:
bash
cd resouces/flumekafka
docker-compose up -d
启动Flume Agent收集日志并推送到Kafka:
bash
/opt/modules/apache-flume-1.9.0-bin/bin/flume-ng agent --conf-file /opt/modules/apache-flume-1.9.0-bin/conf/log_collection.conf --name a1 -Dflume.root.logger=INFO,console
5. 启动Flink任务
进入Flink项目目录,启动Flink任务:
bash
cd src/main/java/com/jmx/analysis/task
flink run -c com.jmx.analysis.task.HotArticle HotArticle.jar
flink run -c com.jmx.analysis.task.HotSection HotSection.jar
flink run -c com.jmx.analysis.task.ClientAccess ClientAccess.jar
6. 查看分析结果
访问MySQL数据库,查看分析结果:
sql
SELECT * FROM hot_article;
SELECT * FROM hot_section;
SELECT * FROM client_ip_access;
通过以上步骤,可成功搭建并运行本实时用户行为日志分析系统,并查看分析结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】