📊 文档核心与基础信息

本报告实验对Nginx 访问日志的全流程大数据处理—— 从 3 节点 Hadoop 集群搭建、Nginx 日志 ETL 清洗,到 MapReduce 编程统计 PV/UV,完整复现实验所需的 “集群部署→数据处理→分析建模” 全链路。文档所有操作与数据均源自原文档,可直接复用,100% 匹配作业对 “分布式环境 + 日志分析” 的核心需求。

文档基础信息具体说明
文档页数约 25-30 页(按集群配置 + 代码 + 结果排版估算)
文档字数约 9000-11000 字(含 Linux 命令、Java 代码、配置文件、结果说明)
截图数量22 张(含 Hadoop 集群启动截图、Nginx 日志清洗截图、MapReduce 代码截图、PV/UV 结果截图等,覆盖全流程关键节点)

🎯 核心实验业务:Nginx 日志大数据统计

本次实验以Nginx 访问日志为分析对象(日志时间含客户端 IP、访问时间、请求方法、状态码、响应大小等字段),通过 “Hadoop 集群搭建→日志 ETL→HDFS 存储→MapReduce 编程” 四大步骤,最终实现网站 PV(页面浏览量)和 UV(独立访客数)统计,核心实验目标与业务逻辑如下:

  1. 搭建 3 节点 Hadoop 集群(master/slave1/slave2),确保 HDFS/YARN 服务正常运行;
  2. 对 Nginx 日志进行合并与清洗(去除 400/404 无效请求),生成标准化日志文件;
  3. 将清洗后日志上传至 HDFS,通过 MapReduce 编程提取 IP 并统计 PV/UV;
  4. 验证分析结果,获取最终业务指标(PV=238、UV=90)。

🔍 关键实验步骤与业务结果

一、Hadoop 集群搭建:分布式环境基础

先完成 3 节点(master:192.168.184.128;slaver1:192.168.184.129;slaver2:192.168.184.139)初始化与配置,确保集群可正常运行:

  1. 核心配置core-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xml及其他环境变量等
  2. 集群启动:master 节点执行start-all.sh,通过jps验证服务状态
  3. Web 验证:访问HDFS Web 界面查看集群容量,YARN Web 界面确认节点正常

二、Nginx 日志 ETL:数据预处理核心

对 Nginx 原始日志进行 “合并→清洗”,生成可用于分析的标准化数据:

  1. 日志合并:将多份 Nginx 日志(access.logaccess.log-20250620)合并为merged_web.log
  2. 日志清洗:创建clean_log.sh脚本,去除状态码为 400(无效请求)、404(页面不存在)的无效行

三、HDFS 存储与 MapReduce 编程:业务指标统计

将清洗后日志上传至 HDFS,通过 MapReduce 编写 Java 代码,实现 IP 提取与 PV/UV 统计:

  1. HDFS 上传
  2. MapReduce 代码实现
    • Mapper 类:提取每行日志的 IP 地址(line.split(" ")[0]),输出<IP, 1>键值对;
    • Reducer 类:累加每个 IP 的访问次数(计算 PV),用 HashSet 存储独立 IP(计算 UV),最终输出总 PV 和总 UV;
    • Driver 类:配置 Job 参数,指定输入(/user/student/web_log/)、输出(/user/student/output)路径;
  3. 编译与提交
  4. 核心业务结果

📸 文档截图展示

✨ 手册优势:100% 匹配学生实验需求

  1. 环境完全对应:3 节点 Hadoop 集群的 IP、进程 ID、配置文件参数均与原文档一致,实操时直接复制命令即可避免报错;
  2. 业务贴合作业考点:覆盖 “集群搭建、ETL 清洗、分布式编程、指标统计” 四大实验核心模块,PV/UV 结果(238/90)可直接引用到作业报告;
  3. 代码可复用:MapReduce 的 Java 代码(Mapper/Reducer/Driver)完整且注释清晰,编译打包步骤明确,无需额外调试;
  4. 结果可验证:每个步骤均提供验证方法(如jps查服务、hdfs dfs -ls查文件、Web 界面查集群),确保实验每步可追溯。

💰 付费下载

支付 ¥9.9 购买本节后解锁剩余14%的内容

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注