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

简介: 基于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



相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
4月前
|
SQL 人工智能 监控
SLS Copilot 实践:基于 SLS 灵活构建 LLM 应用的数据基础设施
本文将分享我们在构建 SLS SQL Copilot 过程中的工程实践,展示如何基于阿里云 SLS 打造一套完整的 LLM 应用数据基础设施。
867 72
|
存储 运维 开发工具
警惕日志采集失败的 6 大经典雷区:从本地管理反模式到 LoongCollector 标准实践
本文探讨了日志管理中的常见反模式及其潜在问题,强调科学的日志管理策略对系统可观测性的重要性。文中分析了6种反模式:copy truncate轮转导致的日志丢失或重复、NAS/OSS存储引发的采集不一致、多进程写入造成的日志混乱、创建文件空洞释放空间的风险、频繁覆盖写带来的数据完整性问题,以及使用vim编辑日志文件导致的重复采集。针对这些问题,文章提供了最佳实践建议,如使用create模式轮转日志、本地磁盘存储、单线程追加写入等方法,以降低日志采集风险,提升系统可靠性。最后总结指出,遵循这些实践可显著提高故障排查效率和系统性能。
1318 21
|
9月前
|
存储 运维 监控
SelectDB 实现日志高效存储与实时分析,完成任务可领取积分、餐具套装/水杯/帆布包!
SelectDB 实现日志高效存储与实时分析,完成任务可领取积分、餐具套装/水杯/帆布包!
|
4月前
|
监控 安全 搜索推荐
使用EventLog Analyzer进行日志取证分析
EventLog Analyzer助力企业通过集中采集、归档与分析系统日志及syslog,快速构建“数字犯罪现场”,精准追溯安全事件根源。其强大搜索功能可秒级定位入侵时间、人员与路径,生成合规与取证报表,确保日志安全防篡改,大幅提升调查效率,为执法提供有力证据支持。
195 0
|
9月前
|
SQL 监控 数据挖掘
SLS 重磅升级:超大规模数据实现完全精确分析
SLS 全新推出的「SQL 完全精确」模式,通过“限”与“换”的策略切换,在快速分析与精确计算之间实现平衡,满足用户对于超大数据规模分析结果精确的刚性需求。标志着其在超大规模日志数据分析领域再次迈出了重要的一步。
626 117
|
6月前
|
监控 安全 NoSQL
【DevOps】Logstash详解:高效日志管理与分析工具
Logstash是ELK Stack核心组件之一,具备强大的日志收集、处理与转发能力。它支持多种数据来源,提供灵活的过滤、转换机制,并可通过插件扩展功能,广泛应用于系统日志分析、性能优化及安全合规等领域,是现代日志管理的关键工具。
1036 0
|
8月前
|
自然语言处理 监控 安全
阿里云发布可观测MCP!支持自然语言查询和分析多模态日志
阿里云可观测官方发布了Observable MCP Server,提供了一系列访问阿里云可观测各产品的工具能力,包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS等,支持用户通过自然语言形式查询
1181 0
阿里云发布可观测MCP!支持自然语言查询和分析多模态日志
|
7月前
|
人工智能 运维 监控
Aipy实战:分析apache2日志中的网站攻击痕迹
Apache2日志系统灵活且信息全面,但安全分析、实时分析和合规性审计存在较高技术门槛。为降低难度,可借助AI工具如aipy高效分析日志,快速发现攻击痕迹并提供反制措施。通过结合AI与学习技术知识,新手运维人员能更轻松掌握复杂日志分析任务,提升工作效率与技能水平。
|
10月前
|
存储 消息中间件 缓存
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
469 1
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
|
9月前
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。