大数据项目之电商数仓、用户行为日志、服务器和JDK准备、模拟数据
创始人
2024-01-16 17:09:12
0

文章目录

  • 3. 用户行为日志
    • 3.4 服务器和JDK准备
      • 3.4.1 服务器准备
      • 3.4.2 编写集群分发脚本xsync
      • 3.4.3 SSH无密登录配置
      • 3.4.4 JDK准备
      • 3.4.5 环境变量配置说明
    • 3.5 模拟数据
      • 3.5.1 使用说明
        • 3.5.1.1 将application.yml、gmall2020-mock-log-2021-10-10.jar、path.json、logback.xml上传到hadoop102的/opt/module/applog目录下
          • 3.5.1.1.1 创建applog路径
          • 3.5.1.1.2 上传文件到/opt/module/applog目录
        • 3.5.1.2 配置文件
          • 3.5.1.2.1 application.yml文件
          • 3.5.1.2.2 path.json,该文件用来配置访问路径
          • 3.5.1.2.3 logback配置文件
        • 3.5.1.3 生成日志
          • 3.5.1.3.1 进入到/opt/module/applog路径,执行以下命令
          • 3.5.1.3.2 在/opt/module/applog/log目录下查看生成日志
        • 3.5.1.4 分发数据
      • 3.5.2 集群日志生成脚本
        • 3.5.2.1 在/home/summer/bin目录下创建脚本lg.sh
        • 3.5.2.2 在脚本中编写如下内容
        • 3.5.2.3 修改脚本执行权限
        • 3.5.2.4 将脚本分发一下
        • 3.5.2.5 启动脚本
        • 3.5.2.6 分别在hadoop102、hadoop103的/opt/module/applog/log目录上查看生成的数据

3. 用户行为日志

3.4 服务器和JDK准备

3.4.1 服务器准备

可以看我之前写的文章

VMware 安装

VMware 安装CentOS7配置环境、安装虚拟机、选择cd/dvd的方式安装系统、系统安装引导界面、需要定制化的内容、配置磁盘分区、修改主机名、网络配置、修改windows的主机映射文件

远程终端工具Xshell、Xftp传输工具、VMware 、CentOS7的下载、安装和使用教程(完整版) 我这篇文章用的是CentOS7,该项目使用的是CentOS7.5,所以大家使用镜像的时候调整为7.5即可

模板虚拟机环境准备、卸载虚拟机自带的JDK、安装epel-release、配置summer用户具有root权限,方便后期加sudo执行root权限的命令

克隆虚拟机、利用模板机hadoop100,克隆三台虚拟机:hadoop102 hadoop103 hadoop104、修改克隆机IP和主机名称、网络配置

我这个使用的内存应该是2G,大家将Hadoop102调整到6G,Hadoop103调整到4G,Hadoop104调整到4G

3.4.2 编写集群分发脚本xsync

本地运行模式(官方WordCount)、完全分布式运行模式(开发重点)、scp安全拷贝、rsync 远程同步工具、xsync集群分发脚本、同步环境变量配置(root所有着)

3.4.3 SSH无密登录配置

SSH无密登录配置、生成公钥和私钥、集群配置、集群部署规划、默认配置文件、核心配置文件、HDFS配置文件、YARN配置文件、MapReduce配置文件、在集群上分发配置好的

3.4.4 JDK准备

在hadoop102安装JDK、配置JDK环境变量、测试JDK是否安装成功

3.4.5 环境变量配置说明

Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/*.sh,~/.bashrc,~/.bash_profile等,下面说明上述几个文件之间的关系和区别。
bash的运行模式可分为login shell和non-login shell。
例如,我们通过终端,输入用户名、密码,登录系统之后,得到就是一个login shell。而当我们执行以下命令ssh hadoop103 command,在hadoop103执行command的就是一个non-login shell。

在这里插入图片描述

这两种shell的主要区别在于,它们启动时会加载不同的配置文件,login shell启动时会加载/etc/profile,~/.bash_profile,~/.bashrc。non-login shell启动时会加载~/.bashrc。
而在加载~/.bashrc(实际是~/.bashrc中加载的/etc/bashrc)或/etc/profile时,都会执行如下代码片段,

在这里插入图片描述

因此不管是login shell还是non-login shell,启动时都会加载/etc/profile.d/*.sh中的环境变量。

3.5 模拟数据

3.5.1 使用说明

3.5.1.1 将application.yml、gmall2020-mock-log-2021-10-10.jar、path.json、logback.xml上传到hadoop102的/opt/module/applog目录下

3.5.1.1.1 创建applog路径

在这里插入图片描述

3.5.1.1.2 上传文件到/opt/module/applog目录

在这里插入图片描述gmall2020-mock-log-2021-10-10.jar
这个文件已运行就会生成用户行为数据

[summer@hadoop102 applog]$ java -jar gmall2020-mock-log-2021-10-10.jar

在这里插入图片描述在这里插入图片描述

3.5.1.2 配置文件

3.5.1.2.1 application.yml文件

可以根据需求生成对应日期的用户行为日志。

# 外部配置打开
logging.config: "./logback.xml"
#业务日期  注意:并不是Linux系统生成日志的日期,而是生成数据中的时间
mock.date: "2020-06-14"#模拟数据发送模式
mock.type: "log"
#mock.type: "http"
#mock.type: "kafka"#http模式下,发送的地址
mock.url: "http://localhost:8090/applog"mock:kafka-server: "hdp1:9092,hdp2:9092,hdp3:9092"kafka-topic: "ODS_BASE_LOG"#启动次数
mock.startup.count: 200#设备最大值
mock.max.mid: 1000000#会员最大值
mock.max.uid: 1000#商品最大值
mock.max.sku-id: 35#页面平均访问时间
mock.page.during-time-ms: 20000#错误概率 百分比
mock.error.rate: 3#每条日志发送延迟 ms
mock.log.sleep: 20#商品详情来源  用户查询,商品推广,智能推荐, 促销活动
mock.detail.source-type-rate: "40:25:15:20"#领取购物券概率
mock.if_get_coupon_rate: 75#购物券最大id
mock.max.coupon-id: 3#搜索关键词  
mock.search.keyword: "图书,小米,iphone11,电视,口红,ps5,苹果手机,小米盒子"# 男女浏览商品比重(35sku)
mock.sku-weight.male: "10:10:10:10:10:10:10:5:5:5:5:5:10:10:10:10:12:12:12:12:12:5:5:5:5:3:3:3:3:3:3:3:3:10:10"
mock.sku-weight.female: "1:1:1:1:1:1:1:5:5:5:5:5:1:1:1:1:2:2:2:2:2:8:8:8:8:15:15:15:15:15:15:15:15:1:1"

在这里插入图片描述
这里滚动的方式是以文件的形式进行滚动的,而这个文件滚动的日期是和服务器的时间是相关的,而模拟的数据是2020年的数据,所以这里的日期会不匹配,在生产情况下是没有问题的,因为当天的数据当天就处理了,所以日期基本上是没有问题的。

修改如下内容

3.5.1.2.2 path.json,该文件用来配置访问路径

根据需求,可以灵活配置用户点击路径

[{"path":["home","good_list","good_detail","cart","trade","payment"],"rate":20 },{"path":["home","search","good_list","good_detail","login","good_detail","cart","trade","payment"],"rate":30 },{"path":["home","search","good_list","good_detail","login","register","good_detail","cart","trade","payment"],"rate":20 },{"path":["home","mine","orders_unpaid","trade","payment"],"rate":10 },{"path":["home","mine","orders_unpaid","good_detail","good_spec","comment","trade","payment"],"rate":5 },{"path":["home","mine","orders_unpaid","good_detail","good_spec","comment","home"],"rate":5 },{"path":["home","good_detail"],"rate":20 },{"path":["home"  ],"rate":10 }
]
3.5.1.2.3 logback配置文件

可配置日志生成路径,修改内容如下


%msg%n${LOG_HOME}/app.%d{yyyy-MM-dd}.log%msg%n

3.5.1.3 生成日志

3.5.1.3.1 进入到/opt/module/applog路径,执行以下命令
[summer@hadoop102 applog]$ java -jar gmall2020-mock-log-2021-10-10.jar

在这里插入图片描述在这里插入图片描述

3.5.1.3.2 在/opt/module/applog/log目录下查看生成日志
[summer@hadoop102 log]$ ll

在这里插入图片描述

3.5.1.4 分发数据

将Hadoop102上的/opt/module/applog目录分发到103
在这里插入图片描述

[summer@hadoop102 module]$ xsync applog/

在这里插入图片描述在这里插入图片描述
将104上的删掉applog文件

3.5.2 集群日志生成脚本

在hadoop102的/home/summer目录下创建bin目录,这样脚本可以在服务器的任何目录执行。

3.5.2.1 在/home/summer/bin目录下创建脚本lg.sh

[summer@hadoop103 bin]$ vim lg.sh

在这里插入图片描述

3.5.2.2 在脚本中编写如下内容

#!/bin/bash
for i in hadoop102 hadoop103; doecho "========== $i =========="ssh $i "cd /opt/module/applog/; java -jar gmall2020-mock-log-2021-10-10.jar >/dev/null 2>&1 &"
done 

在这里插入图片描述
注:
①/opt/module/applog/为jar包及配置文件所在路径
②/dev/null代表Linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。
标准输入0:从键盘获得输入 /proc/self/fd/0
标准输出1:输出到屏幕(即控制台) /proc/self/fd/1
错误输出2:输出到屏幕(即控制台) /proc/self/fd/2

3.5.2.3 修改脚本执行权限

[summer@hadoop103 bin]$ chmod 777 lg.sh

在这里插入图片描述

3.5.2.4 将脚本分发一下

[summer@hadoop103 bin]$ xsync lg.sh

在这里插入图片描述

3.5.2.5 启动脚本

[summer@hadoop102 module]$ lg.sh

在这里插入图片描述

3.5.2.6 分别在hadoop102、hadoop103的/opt/module/applog/log目录上查看生成的数据

在这里插入图片描述在这里插入图片描述

相关内容

热门资讯

解析士力架广告语 解析士力架广告语  一、 企业文化  1、玛氏公司 玛氏公司是一家由私人家族弗兰克马斯(弗瑞斯特玛氏...
销售团队激励的口号 销售团队激励的口号大全  在日常生活或是工作学习中,许多人对一些广为流传的口号都不陌生吧,不同时期不...
押韵3班班级口号 押韵3班班级口号  押韵3班班级口号1  1. 唯我七一 傲视群雄  2. 信心百倍 斗志昂扬  3...
有创意的广告词 有创意的广告词2018  创意是创造意识或创新意识的简称,亦作“剙意”。它是指对现实存在事物的理解以...
学生给老师评语 学生给老师评语  在日常学习、工作或生活中,许多人都写过评语吧,评语能够帮助被评价对象不断地接近于目...
社会实践评语 社会实践评语大全  社会实践即假期实习或是在校外实习。对于在校大学生具有加深对本专业的了解、确认适合...
实习单位鉴定意见表考核评语 实习单位鉴定意见表考核评语  在学习、工作、生活中,大家对评语都不陌生吧,评语是指作说明或讲解用的话...
有关防疫的宣传标语 有关防疫的宣传标语  无论是在学校还是在社会中,大家都看到过标语吧,标语在生活中是比较重要的一种宣传...
毕业班主任鉴定评语 毕业班主任鉴定评语  在学习、工作或生活中,大家一定都接触过评语吧,评语能帮助被评价者确切地了解自己...
无偿献血宣传标语 无偿献血宣传标语大全  无论是身处学校还是步入社会,大家都对那些朗朗上口的标语很是熟悉吧,标语是在宣...
淘宝产品好评评语 淘宝产品好评评语大全  好评是汉语常用语,出处已不可考,在淘宝网购物给好评后该词汇才被大众所熟知,如...
促销活动广告语 促销活动广告语汇总  现在大街小巷出现了各式各样的广告语,由此我们不难发现,许多广告语都是讲求押韵的...
年度最新班级励志标语 年度最新班级励志标语  在日复一日的学习、工作或生活中,大家都听说过或者使用过一些比较经典的标语吧,...
爱国口号 爱国口号  在学习、工作、生活中,大家都不可避免地会接触到口号吧,口号具有在理智上启发人们,在情感上...
母亲节的宣传主题标语 母亲节的宣传主题标语  母亲是英勇无畏的,当事情涉及到她所诞生的和她所热爱的生命的时候。下面是小编收...
男科广告语 精选男科广告语  美满春节,别让泌尿感染添乱  领跑男性健康做冠军男人  专业品牌男科,成就健康男人...
标语广告   标语广告  1、要想皮肤好,早晚用大宝。出自:大宝  2、省优,部优,葛优?出自:双汇火腿肠  ...
网络广告的分类 网络广告的分类网络广告的分类网络广告的分类形式有多种,根据开元研究的多年经验分类如下:1.按计费分一...
酒的经典广告语 关于酒的经典广告语大全  广告语是市场营销里必不可少使商家获得利润的手段及其方式。下面是小编整理的关...
运动会班级宣传标语 运动会班级宣传标语(通用180句)  无论是身处学校还是步入社会,大家都看到过标语吧,标语的作用是便...