基于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



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
30 2
|
3月前
|
监控 Android开发 C语言
深度解读Android崩溃日志案例分析2:tombstone日志
深度解读Android崩溃日志案例分析2:tombstone日志
82 0
|
3月前
|
Go 数据处理 Docker
elk stack部署自动化日志收集分析平台
elk stack部署自动化日志收集分析平台
79 0
|
3月前
|
缓存 固态存储 关系型数据库
MySQL性能优化指南:深入分析重做日志刷新到磁盘的机制
MySQL性能优化指南:深入分析重做日志刷新到磁盘的机制
|
7天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
1天前
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断2
工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
|
2天前
|
机器学习/深度学习 前端开发 数据挖掘
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
R语言计量经济学:工具变量法(两阶段最小二乘法2SLS)线性模型分析人均食品消费时间序列数据和回归诊断
32 0
|
9天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
40 1
|
10天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
12 0
|
26天前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
20 1
大数据Hadoop生态圈体系视频课程