Spark 实践——基于 Spark Streaming 的实时日志分析系统
本文基于《Spark 最佳实践》第6章 Spark 流式计算。
运行环境:Ubuntu 16.04 + JDK 1.8 + Scala 2.11.12 + Spark 2.11 + Python 3.8
> 我们知道网站用户访问流量是不间断的,基于网站的访问日志,即 Web log 分析是典型的流式实时计算应用场景。比如百度统计,它可以做流量分析、来源分析、网站分析、转化分析。另外还有特定场景分析,比如安全分析,用来识别 CC 攻击、 SQL 注入分析、脱库等。这里我们简单实现一个类似于百度分析的系统。
## 1.模拟生成 web log 记录
在日志中,每行代表一条访问记录,典型格式如下:
```
46.156.87.72 - - [2018-05-15 06:00:30] "GET /upload.php HTTP/1.1" 200 0 "http://www.baidu.com/s?wd=spark" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)" "-"
```
分别代表:访问 ip,时间戳,访问页面,响应状态,搜索引擎索引,访问 Agent。
简单模拟一下数据收集和发送的环节,用一个 Python 脚本随机生成 Nginx 访问日志,为了方便起见,不使用 HDFS,使用单机文件系统。
首先,新建文件夹用于存放日志文件
```
$ mkdir Documents/nginx
$ mkdir Documents/nginx/log
$ mkdir Documents/nginx/log/tmp
```
然后,使用 Python 脚本随机生成 Nginx 访问日志,并为脚本设置执行权限, 代码见 [sample_web_log.py](https://github.com/libaoquan95/WebLogAnalyse/blob/master/sample_web_log.py)
```
$ chmod +x sample_web_log.py
```
之后,编写 bash 脚本,自动生成日志记录,并赋予可执行权限,代码见 [genLog.sh](https://github.com/libaoquan95/WebLogAnalyse/blob/master/genLog.sh)
```
$ chmod +x genLog.sh
```
执行 genLog.sh 查看效果,输入 ctrl+c 终止。
```
$ ./genLog.sh
```
## 2.流式分析
创建 Scala 脚本,代码见 [genLog.sh](https://github.com/libaoquan95/WebLogAnalyse/blob/master/WebLogAnalyse.scala)
## 3.执行
同时开启两个终端,分别执行 genLog.sh 生成日志文件和执行 WebLogAnalyse.scala 脚本进行流式分析。
执行 genLog.sh
```
$ ./genLog.sh
```
执行 WebLogAnalyse.scala, 使用 spark-shell 执行 scala 脚本
```
$ spark-shell --executor-memory 5g --driver-memory 1g --master local < WebLogAnalyse.scala
```
没有合适的资源?快使用搜索试试~ 我知道了~
基于 Spark Streaming 的实时日志分析系统文档+源码+优秀项目+全部资料.zip
共5个文件
txt:1个
md:1个
sh:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 91 浏览量
2024-12-17
12:47:30
上传
评论
收藏 5KB ZIP 举报
温馨提示
【资源说明】 基于 Spark Streaming 的实时日志分析系统文档+源码+优秀项目+全部资料.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于 Spark Streaming 的实时日志分析系统文档+源码+优秀项目+全部资料.zip (5个子文件)
WebLogAnalyse-master
genLog.sh 298B
readme.md 2KB
sample_web_log.py 4KB
WebLogAnalyse.scala 2KB
CSDN
软件
项目授权码.txt 268B
共 5 条
- 1
资源评论
Yuki-^_^
- 粉丝: 3100
- 资源: 1817
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 金山毒霸1999年最老版
- BLE蓝牙单片机CC2540、CC2541带OSAL操作系统的例程-点亮LED灯.zip
- BLE蓝牙单片机CC2540、CC2541带OSAL操作系统的例程-LED闪烁.zip
- xxs靶机,放入vm中使用
- BLE蓝牙单片机CC2540、CC2541带OSAL操作系统的例程-LED跑马灯.zip
- BLE蓝牙单片机CC2540、CC2541裸机简易C语言程序开发之系统睡眠唤醒-中断唤醒.zip
- BLE蓝牙单片机CC2540、CC2541裸机简易C语言程序开发之系统睡眠唤醒-定时器唤醒.zip
- BLE蓝牙单片机CC2540、CC2541裸机简易C语言程序开发之温湿度传感器DHT11.zip
- BLE蓝牙单片机CC2540、CC2541裸机简易C语言程序开发之温度传感器DS18B20.zip
- 机器学习预处理-表格数据的空值处理-py工程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功