I
II
目录
题目: 新闻网用户日志分析 ...................................................I
第一章 需求分析 .......................................................................................1
1. 项目介绍.......................................................................................1
2. 项目架构.......................................................................................1
3. 项目流程.......................................................................................2
第二章 集群搭建 .......................................................................................3
2.1. Flume 简介 ................................................................................3
2.2. Flume 的安装配置 ....................................................................3
2.2.1.下载并上传到服务器.......................................................3
2.2.2.解压...................................................................................6
2.2.3.配置...................................................................................6
2.2.4.配置环境变量...................................................................7
2.2.5.使环境变量起作用...........................................................7
2.3. Flume 入门使用 ........................................................................8
2.3.1.配置采集方案...................................................................8
2.3.2.指定采集方案启动 flume ..............................................12
2.3.3.采集数据测试.................................................................13
2.4. 案例 1:监控某个文件夹的变化,将添加的新文件采集存
入到 hdfs 15
2.4.1.采集方案需要确定三大部分.........................................15
III
2.4.2.采集配置文件.................................................................17
2.4.3.启动 flume ......................................................................18
2.4.4.测试.................................................................................18
2.4.5.出现错误.........................................................................19
2.4.6.重新启动 flume,并往日志文件夹上传一个文件,查
看结果 19
2.4.7.修改采集方案,重新启动 flume,上传文件测试结果
20
2.5. 案例 2:监控某个文件的变化,把变化的内容存储到 hdfs
上 22
2.5.1.采集方案.........................................................................22
2.5.2.测试采集功能.................................................................24
2.5.3.再克隆一个会话,查看新增的内容.............................25
2.5.4.启动 flume ......................................................................25
2.5.5.查看 HDFS 上的结果 ....................................................25
2.6. Flume 的可靠性保证-负载均衡.............................................27
2.6.1.搭配并配置 flume 集群 .................................................27
2.6.2.配置采集方案.................................................................28
2.6.3.启动 flume ......................................................................33
2.6.4.负载均衡的测试.............................................................35
2.6.5.查看结果.........................................................................36
2.7. Flume 的可靠性保证-故障恢复.............................................38
IV
2.7.1.配置采集方案.................................................................38
2.7.2.启动 flume ......................................................................39
2.7.3.故障恢复.........................................................................39
2.8. Flume 拦截器 ..........................................................................41
2.8.1.场景:.............................................................................41
2.8.2.日志数据采集流程图.....................................................42
2.8.3.Hadoop02 和 hadoop03 的配置文件 .............................42
2.8.4.Hadoop01 上的采集方案配置文件 ...............................44
2.8.5.启动 flume ......................................................................46
2.8.6.测试效果.........................................................................47
第三章 系统流程设计与实现 .................................................................49
3.1. 数据来源 .................................................................................49
3.2. 数据预处理 .............................................................................50
3.2.1.上传数据.........................................................................50
3.2.2.将文件中的 tab 更换成逗号..........................................51
3.2.3.将文件中的空格更换成逗号.........................................51
第四章 系统结果展示 .............................................................................52
4.1. 日志数据产生 .........................................................................52
4.1.1.创建 maven 项目 ............................................................52
4.1.2.模拟日志产生程序.........................................................52
4.2. 日志数据采集 .........................................................................59
4.2.1.修改 flume 配置文件 .....................................................60
V
4.2.2.在 hbase 上创建数据表..................................................66
4.2.3.Kafka 的 Topic 创建.......................................................66
4.2.4.编写 Kafka Consumer 执行脚本 kfk-test-consumer.sh.68
4.2.5.数据采集测试.................................................................69
4.3. 日志数据实时分析 .................................................................72
4.3.1.在 MySQL 中创建数据库表..........................................72
4.3.2.解决中文乱码问题.........................................................72
4.3.3.创建 Structured Streaming 项目.....................................74
4.3.4.编写读取 Kafka 的数据模块.........................................81
4.3.5.编写连接数据库模块.....................................................83
4.3.6.向数据库写入数据模块.................................................86
4.3.7.读取 Kafka 数据写入 MySQL 模块..............................89
4.3.8.测试读取 Kafka 数据写入 MySQL 中..........................91
4.4. 实时数据可视化 .....................................................................94
4.4.1.下载 Tomcat 服务并安装 ..............................................94
4.4.2.配置 Tomcat ...................................................................95
4.4.3.IDEA 配置 Tomcat.........................................................97
4.4.4.创建 Web 工程并配置相关服务 ...................................99
4.4.5.Web 系统数据处理服务层开发 ..................................100
4.4.6.基于 WebSocket 协议的数据推送服务开发 ..............103
4.4.7.基于 Echart 框架的页面展示层开发 ..........................107
4.4.8.页面效果图选取及代码实现.......................................112