基于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日志并进行多维度分析。
相关文章
|
5天前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
57 15
|
2天前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
|
11天前
|
SQL 分布式计算 DataWorks
DataWorks产品测评|基于DataWorks和MaxCompute产品组合实现用户画像分析
本文介绍了如何使用DataWorks和MaxCompute产品组合实现用户画像分析。首先,通过阿里云官网开通DataWorks服务并创建资源组,接着创建MaxCompute项目和数据源。随后,利用DataWorks的数据集成和数据开发模块,将业务数据同步至MaxCompute,并通过ODPS SQL完成用户画像的数据加工,最终将结果写入`ads_user_info_1d`表。文章详细记录了每一步的操作过程,包括任务开发、运行、运维操作和资源释放,帮助读者顺利完成用户画像分析。此外,还指出了文档中的一些不一致之处,并提供了相应的解决方法。
|
10天前
|
分布式计算 DataWorks 搜索推荐
用户画像分析(MaxCompute简化版)
通过本教程,您可以了解如何使用DataWorks和MaxCompute产品组合进行数仓开发与分析,并通过案例体验DataWorks数据集成、数据开发和运维中心模块的相关能力。
|
23天前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
|
29天前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
69 4
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
342 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
14天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
2月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
332 3
|
24天前
|
存储 监控 安全
什么是事件日志管理系统?事件日志管理系统有哪些用处?
事件日志管理系统是IT安全的重要工具,用于集中收集、分析和解释来自组织IT基础设施各组件的事件日志,如防火墙、路由器、交换机等,帮助提升网络安全、实现主动威胁检测和促进合规性。系统支持多种日志类型,包括Windows事件日志、Syslog日志和应用程序日志,通过实时监测、告警及可视化分析,为企业提供强大的安全保障。然而,实施过程中也面临数据量大、日志管理和分析复杂等挑战。EventLog Analyzer作为一款高效工具,不仅提供实时监测与告警、可视化分析和报告功能,还支持多种合规性报告,帮助企业克服挑战,提升网络安全水平。