1. 项目背景
本项目是一个基于日志的大数据实战项目。主要功能是通过Python 脚本产生模拟登陆日志,使用Flume收集信息,上传到kafaka,通过Spark Streaming 消费kafka的数据,存入HBase中。
后续在HBase的数据上,进行可视化的开发。
项目的整体架构如下图所示:
2. 模块简介
-
Flume
Apache Flume 是一个分布式日志收集系統。本项目中主要使用Flume监控日志文件,并把数据发送至Kafka。
-
Kafka
kafka是一个按照分布式事务日志架构的大规模发布/订阅消息队列。本项目中的主要作用是作为Flume 和 SparkStreaming的中转站。
-
Spark Streamig
分布式实时处理框架。本项目中的主要作用是消费Kafka中的日志数据,完成数据格式的转换,并存入HBase中。
-
HBase
HBase是一个开源的非关系型分布式数据库(NoSQL)。本项目中主要用于存储处理后的数据。
-
Spring Boot
读取数据,为可视化提供数据接口。
-
Echarts
完成数据的可视化展示。
3. 环境版本
-
Flume
apache-flume-1.9.0
-
Kafka
kafka_2.11-2.1.1
-
Spark
spark-2.4.0-bin-2.6.0-cdh5.7.0