基于Hadoop部署实践对网站日志分析(大数据分析案例)(一)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 基于Hadoop部署实践对网站日志分析(大数据分析案例)

实践项目所需资料

hive安装手册(如果需要本项目的Hadoop集群压缩包(包含所有组件,免去安装部署),可以私信博主,解压可使用!

hive安装资料手册.rar-Hadoop文档类资源-CSDN下载


日志数据文件:

大数据分析-网站日志数据文件(Hadoop部署分析资料)-Hadoop文档类资源-CSDN下载

预处理MapReduce代码(python)

hadoop实训课数据清洗py脚本(MapReducepython代码,可执行文件脚本,使用方法)-Hadoop文档类资源-CSDN下载

使用hadoop-streaming运行Python编写的MapReduce程序.rar-Hadoop文档类资源-CSDN下载

PPT演示操作指南(按照步骤做!有原理解释)

hadoop实践项目-PPT演示步骤-Hadoop文档类资源-CSDN下载

本项目需要的安装包(用于需要自己部署所需)

Hadoop部署实践所需的安装包(Ubuntu下的安装包)-Hadoop文档类资源-CSDN下载

分析源码:

Hadoop网站日志分析源码(hive命令).txt-Hadoop文档类资源-CSDN下载

如果你需要本项目Word,可以直接使用博主已经写好的课程设计模板:

基于hadoop对某网站日志分析部署实践课程设计报告参考模板.doc-Hadoop文档类资源-CSDN下载


1、项目概述

本次要实践的数据日志来源于国内某技术学习论坛,该论坛由某培训机构主办,汇聚了众多技术学习者,每天都有人发帖、回帖。至此,我们通过Python网络爬虫手段进行数据抓取,将我们网站数据(2013-05-30,2013-05-31)保存为两个日志文件,由于文件大小超出我们一般的分析工具处理的范围,故借助Hadoop来完成本次的实践。

2、总体设计

2.1 Hadoop插件安装及部署

第一步:Hadoop环境部署和源数据准备

安装好VMware(查看)


image.png


第二步:使用python开发的mapper reducer进行数据处理。


第三步:创建hive数据库,将处理的数据导入hive数据库


第四步:将分析数据



3、详细实现步骤操作纪要

 3.1 hadoop环境准备3、详细实现步骤操作纪要


  - Hadoop

image.png



首先开启Hadoop集群:start-all.sh:开启所有的Hadoop所有进程,在主节点上进行


image.png


NameNode它是Hadoop 中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问。


Secondary  NameNode是一个用来监控HDFS状态的辅助后台程序。


DataNode它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个 datanode 守护进程。


NodeManager:


1、是YARN中每个节点上的代理,它管理Hadoop集群中单个计算节点


2、包括与ResourceManger保持通信,监督Container的生命周期管理,


3、监控每个Container的资源使用(内存、CPU等)情况,追踪节点健


4、康状况,管理日志和不同应用程序用到的附属服务(auxiliary service)


ResourceManager:在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)RM与每个节点的NodeManagers (NMs)和每个应用的ApplicationMasters (AMs)一起工作。


  - hive


Show databases;展示数据库的名称


image.png



  - mysql


image.png


  - sqoop


image.png


3.2 源数据文件准备

  - 下载日志文件


  - 将文件拷贝到hadoopvm虚拟机


image.png


记住虚拟机上本地路径如:/home/hadoop/logfiles/


sudo find / -name hadoop-stream*(找到Hadoop文件路径)


image.png


将Python脚本里面的参数和路径替换,刚刚找到的替换第一行


image.png


在hdfs里面新建我们的文件夹:logfiles,然后把我们的日志文件放入里面


  - 将文件使用hdfs命令上传到HDFS


先创建hdfs路径:


参数解释:创建文件时候mkdir -p (创建多级目录,父目录存在不报错,依旧在此目录创建没有的子目录)


hdfs dfs -mkdir -p /user/hadoop/logfiles

再上传文件到hdfs


参数解释:

put命令把本地的文件上传到hdfs里面,命令为put 本地路径 hdfs路径

ls -R 递归显示该目录下的所有文件夹(文件)属性和信息


hdfs dfs -put access_2013_05_30.log /user/hadoop/logfiles
hdfs dfs -put access_2013_05_31.log /user/hadoop/logfiles
hdfs dfs -ls -R /user/hadoop/logfiles


3.3 python开发mapreduce脚本

使用python开发mapreduce脚本对日志数据进行清理,目的是将平面的文本数据解析关键字段成结构化数据,以便存入结构化数据库hive进行分析。


image.png


  - mapper程序


 拷贝到hadoopvm虚拟机,记住路径如:/home/hadoop/logfiles/format_mapper.py


  - reduce程序


 拷贝到hadoopvm虚拟机,记住路径如:/home/hadoop/logfiles/format_reducer.py


  - 使用hadoop-streaming运行mapper reducer程序,示例:


  - 修改python程序文件的执行权限:


参数解释:


cd 切换到该路径下,cd ~ :切换到家目录,cd .. 切换到上一级的目录


Chmod 给我们的文件加入权限;数字为777 代表可读可写可执行


详解:


r (read)      ---------------->   4


w (write)    ---------------->   2


x (excute)    ---------------->   1


或者



image.png

image.png


例如:


chmod u+rwx, g+rwx, o+rwx filename 改命令说明对filename文件, 赋予user、group、other均有read、write、excute的权限


cd /home/hadoop/logfiles/
chmod 777 format_mapper.py
chmod 777 format_reducer.py
chmod 777 format_run_2013-05-30.sh
chmod 777 format_run_2013-05-31.sh

-执行脚本文件:


cd /home/hadoop/logfiles/
source format_run_2013_o5_30.sh
source format_run_2013_o5_31.sh


执行我们的脚本文件,可以用source或者./


image.png


查看数据清洗的文件


hdfs dfs -ls -R /user/hadoop


image.png

- 结果文件(查看)


参数解释:cat 查看文件里面的内容,这个是全部查看,还有其他的查看命令:cat主要有三大功能:

1.一次显示整个文件。

cat   filename

2.从键盘创建一个文件。

cat  >  filename

只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件。

cat   file1   file2  > file


Hdfs dfs -cat /user/Hadoop/files30/part-00000


image.png



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
打赏
0
0
0
0
14
分享
相关文章
警惕日志采集失败的 6 大经典雷区:从本地管理反模式到 LoongCollector 标准实践
本文探讨了日志管理中的常见反模式及其潜在问题,强调科学的日志管理策略对系统可观测性的重要性。文中分析了6种反模式:copy truncate轮转导致的日志丢失或重复、NAS/OSS存储引发的采集不一致、多进程写入造成的日志混乱、创建文件空洞释放空间的风险、频繁覆盖写带来的数据完整性问题,以及使用vim编辑日志文件导致的重复采集。针对这些问题,文章提供了最佳实践建议,如使用create模式轮转日志、本地磁盘存储、单线程追加写入等方法,以降低日志采集风险,提升系统可靠性。最后总结指出,遵循这些实践可显著提高故障排查效率和系统性能。
242 20
SelectDB 实现日志高效存储与实时分析,完成任务可领取积分、餐具套装/水杯/帆布包!
SelectDB 实现日志高效存储与实时分析,完成任务可领取积分、餐具套装/水杯/帆布包!
SLS 重磅升级:超大规模数据实现完全精确分析
SLS 全新推出的「SQL 完全精确」模式,通过“限”与“换”的策略切换,在快速分析与精确计算之间实现平衡,满足用户对于超大数据规模分析结果精确的刚性需求。标志着其在超大规模日志数据分析领域再次迈出了重要的一步。
388 117
阿里云发布可观测MCP!支持自然语言查询和分析多模态日志
阿里云可观测官方发布了Observable MCP Server,提供了一系列访问阿里云可观测各产品的工具能力,包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS等,支持用户通过自然语言形式查询
303 0
阿里云发布可观测MCP!支持自然语言查询和分析多模态日志
Aipy实战:分析apache2日志中的网站攻击痕迹
Apache2日志系统灵活且信息全面,但安全分析、实时分析和合规性审计存在较高技术门槛。为降低难度,可借助AI工具如aipy高效分析日志,快速发现攻击痕迹并提供反制措施。通过结合AI与学习技术知识,新手运维人员能更轻松掌握复杂日志分析任务,提升工作效率与技能水平。
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
让跨 project 联查更轻松,SLS StoreView 查询和分析实践
让跨 project 联查更轻松,SLS StoreView 查询和分析实践
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
2406 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
191 9

热门文章

最新文章

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问