第一步 获取数据源
1.安装nginx sudo apt-get install nginx 安装过的如下:
2.上传shop.html 文件到 /var/www/shop.html
3.在网页上查看shop.html 的数据日志信息
4.监控nginx生成的访问日志使用以下命令
suodo tail -F /var/log/nginx/access.log
第二步 采集日志数据
(1)开启三台虚拟机
master slave1 slave2
(2)开启zookeeper
master
slave1
slave2
(3)开启hadoop直接群起
master
slave1
slave2
1.创建 web_log 目录
2.进入web_log目录,创建脚本文件
3.查看脚本文件
4.使用脚本文件启动flume
5.在hdfs上查看日志是否采集到/web/log目录
第三步 ETL数据清洗(脏数据)
(1)在eclipse通过xshell链接Hadoop,进行hadoop可视化
(2)在eclipse创建 ETL mapreduce 项目
(3)在eclipse进行编写 NginxETLMapper,NginxETLDriver两个类
NginxETLMapper
NginxETLDriver
(4)打包(jar)上传到 /home/hadoop(linux)下
(5)执行jar包
hadoop jar /home/Hadoop/web_log/NginxETL.jar 21-12-13 09 (hdfs对应的年 - 月 - 日 时间)
执行完成
在hdfs上查看结果
(6)写脚本进行执行
脚本执行完成
在hdfs上看结果
第四步 搭建数据仓库 (离线数仓)
数据仓库
ods:存储清洗后的日志数据
dwd:从ods中提取出待分析时间段的数据
dws:从dwd中提取出商品名称的数据
ads:基于dws的分析结果
(1)创建web_log_import.sh脚本并进行编辑
(2)创建web_log_analysis.sh脚本并编辑
(3)编写udf函数
(4)两个脚本的运行结果(web_log_import.sh和 web_log_analysis.sh)
web_log_import.sh
web_log_analysis.sh
第五步 保存分析结果
(1)查看mysql账户和密码并登录
(2)创建web_log用户并设置密码为123456
(3)创建shop_count_rank表
(4)增量导出并查看表
(5)编写web_log_export.sh脚本
第六步 :定时任务
使用crontab -e 添加定时任务
在末尾添加以下内容



