省赛样题5

省赛样题5
曦2024-2025学年广东省职业院校技能大赛
中职组大数据应用与服务赛项
样
题
5
一、背景描述
大数据时代背景下,人们生活习惯发生了很多改变。在传统运营模式中,缺乏数据积累,人们在做出一些决策行为过程中,更多是凭借个人经验和直觉,发展路径比较自我封闭。而大数据时代,为人们提供一种全新的思路,通过大量的数据分析得出的结果将更加现实和准确。平台可以根据用户的浏览,点击,评论等行为信息数据进行收集和整理。通过大量用户的行为可以对某一个产品进行比较准确客观的评分和评价,或者进行相应的用户画像,将产品推荐给喜欢该产品的用户进行相应的消费。
因数据驱动的大数据时代已经到来,没有大数据,我们无法为用户提供大部分服务,为完成互联网酒店的大数据分析工作,你所在的小组将应用大数据技术,通过 Python 语言以数据采集为基础,将采集的数据进行相应处理,并且进行数据标注、数据分析与可视化、通过大数据业务分析方法实现相应数据分析。运行维护数据库系统保障存储数据的安全性。通过运用相关大数据工具软件解决具体业务问题。你们作为该小组的技术人员,请按照下面任务完成本次工作。
二、模块一:平台搭建与运维
(一)任务一:大数据平台搭建
1.子任务一:基础环境准备
本任务需要使用 root 用户完成相关配置,安装 Hadoop 需要配置前置环境。命令中要求使用绝对路径,具体要求如下:
(1)配置三个节点的主机名,分别为 master、slave1、slave2,然后修改三个节点的 hosts 文件,使得三个节点之间可以通过主机名访问,在 master上将执行命令 cat /etc/hosts 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;
(2)将 /opt/software 目录下将文件 jdk-8u191-linux-x64.tar.gz 安装包(若slave1、slave2节点不存在以上文件则需从master节点复制)解压到 /opt/module 路径中(若路径不存在,则需新建),将 JDK 解压命令复制并粘贴至【提交结果.docx】中对应的任务序号下;
(3)在 /etc/profile 文件中配置 JDK 环境变量 JAVA_HOME 和 PATH 的值,并让配置文件立即生效,将在 master上 /etc/profile 中新增的内容复制并粘贴至【提交结果.docx】中对应的任务序号下;
(4)查看 JDK 版本,检测 JDK 是否安装成功,在 master 上将执行命令java -vserion 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;
(5)创建 hadoop 用户并设置密码,为 hadoop 用户添加管理员权限。在 master 上将执行命令 grep ‘hadoop’ /etc/sudoers 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;
(6)关闭防火墙,设置开机不自动启动防火墙,在 master 上将执行命令 systemctl status fireawlld 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;
(7)配置三个节点的 SSH 免密登录,在 master 上通过 SSH 连接 slave1 和 slave2 来验证。
2.子任务二:Hadoop 完全分布式安装配置
本任务需要使用 root 用户和 hadoop 用户完成相关配置,使用三个节点完成 Hadoop 完全分布式安装配置。命令中要求使用绝对路径,具体要求如下:
(1)在 master 节点中的 /opt/software 目录下将文件 hadoop-3.3.6.tar.gz 安装包解压到 /opt/module 路径中,将 hadoop 安装包解压命令复制并粘贴至【提交结果.docx】中对应的任务序号下;
(2)在 master 节点中将解压的 Hadoop 安装目录重命名为 hadoop ,并修改该目录下的所有文件的所属者为 hadoop,所属组为 hadoop,将修改所属者的完整命令复制并粘贴至【提交结果.docx】中对应的任务序号下;
(3)在 master 节点中使用 hadoop 用户依次配置 hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、masters 和 workers 配置文件,Hadoop集群部署规划如下表,将 yarn-site.xml 文件内容复制并粘贴至【提交结果.docx】中对应的任务序号下;
服务器 | master | slave1 | slave2 |
---|---|---|---|
DHFS | NameNode | ||
HDFS | SecondaryNameNode | ||
HDFS | DataNode | DataNode | DataNode |
YARN | ResourceManager | ||
YARN | NodeManager | NodeManager | NodeManager |
历史日志服务器 | JobHistoryServer |
(4)在 master 节点中使用 scp 命令将配置完的 hadoop 安装目录直接拷贝至 slave1 和 slave2 节点,将完整的 scp 命令复制并粘贴至【提交结果.docx】中对应的任务序号下;
(5)在 slave1 和 slave2 节点中将 hadoop 安装目录的所有文件的所属者为 hadoop,所属组为 hadoop。
(6)在三个节点的 /etc/profile 文件中配置 Hadoop 环境变量 HADOOP_HOME 和 PATH 的值,并让配置文件立即生效,将 master 节点中 /etc/profile 文件新增的内容复制并粘贴至【提交结果.docx】中对应的任务序号下;
(7) 在 master 节点中初始化 Hadoop 环境 namenode,将初始化命令及初始化结果(截取初始化结果日志最后 20 行即可)粘贴至【提交结果.docx】中对应的任务序号下;
(8) 在 master 节点中依次启动HDFS、YARN集群和历史服务。在 master 上将执行命令 jps 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下;
(9) 在 slave1 查看 Java 进程情况。在 slave1上将执行命令 jps 的结果复制并粘贴至【提交结果.docx】中对应的任务序号下。
(二)任务二:数据库服务器的安装与运维
1. 子任务一:MySQL 安装配置
本任务需要使用 rpm 工具安装 MySQL 并初始化,具体要求如下:
(1) 在 master 节点中的 /opt/software 目录下将 MySQL 5.7.44 安装包解压到 /opt/module 目录下;
(2)在 master 节点中使用 rpm -ivh 依次安装 mysql-community-common、mysql-community-libs、mysql-community-libs-compat 、 mysql-community-client 和 mysql-community-server 包,将所有命令复制粘贴至【提交结果.docx】 中对应的任务序号下;
(3)在 master 节点中启动数据库系统并初始化 MySQL 数据库系统,将完整命令复制粘贴至【提交结果.docx】 中对应的任务序号下;
2.子任务二:MySQL 运维
本任务需要在成功安装 MySQL 的前提,对 MySQL 进行运维操作,具体要求如下:
(1)修改 MySQL 配置文件启用远程连接,将修改后的配置内容复制粘贴至【提交结果.docx】中对应的任务序号下;
(2)启用 MySQL 慢查询日志功能,设置慢查询阈值为 2 秒,将完整的配置命令和验证命令结果复制粘贴至【提交结果.docx】中对应的任务序号下;
(3)创建名为 hadoop 的数据库用户,密码设置为 Hadoop@2025,将创建用户的完整命令及执行结果复制粘贴至【提交结果.docx】中对应的任务序号下;
(4)为 hadoop 用户授予 bigdata 数据库的 SELECT、INSERT 和 UPDATE 权限,将授权命令及执行结果复制粘贴至【提交结果.docx】中对应的任务序号下;
(5)创建名为 monitor 的监控专用用户,仅授予 PROCESS 和 SHOW DATABASES 权限,将完整命令及执行结果复制粘贴至【提交结果.docx】中对应的任务序号下;
(6)使用 mysqldump 工具备份 bigdata 数据库,将备份文件保存为 bigdata_backup.sql,将备份命令及执行过程复制粘贴至【提交结果.docx】中对应的任务序号下;
(7)配置数据库字符集为 utf8mb4,并将默认排序规则设置为 utf8mb4_unicode_ci,将配置命令和验证结果复制粘贴至【提交结果.docx】中对应的任务序号下;
(8)创建一个定时备份脚本,实现每天凌晨 2 点自动备份 bigdata 数据库到 /opt/backup 目录,并只保留最近 7 天的备份文件,将完整脚本内容复制粘贴至【提交结果.docx】中对应的任务序号下;
3.子任务三:数据表的创建及维护
(1)根据以下数据字段在 bigdata 数据库中创建酒店表 (hotel)。酒店表字段如下:
字段 | 类型 | 中文含义 | 备注 |
---|---|---|---|
id | int | 酒店编号 | |
hotel_name | varchar | 酒店名称 | |
city | varchar | 城市 | |
province | varchar | 省份 | |
level | varchar | 星级 | |
room_num | int | 房间数 | |
score | double | 评分 | |
commnet_num | varchar | 评论数 |
(2)根据以下数据字段在 bigdata 数据库中创建评论表 (comment)。评论表字段如下:
字段 | 类型 | 中文含义 | 备注 |
---|---|---|---|
id | int | 评论编号 | |
name | varchar | 酒店名称 | |
commentator | varchar | 评论人 | |
score | double | 评分 | |
comment_time | datetime | 评论时间 | |
content | varchar | 评论内容 |
将这两个 SQL 建表语句分别复制粘贴至【提交结果.docx】中对应的任务序号下。
(3)根据已给到的 sql 文件将这两份数据导入 bigdata 数据库中,并对其中的数据进行如下操作:
统计各省份的平均酒店评分,并将评分低于该省份平均分的酒店评分上调0.5分(评分上限为5分);
查找出每个城市评论数最多的酒店及其详细信息;
找出所有发表过3条及以上差评(评分小于等于2分)的评论人,并列出这些评论人的评论时间、评论内容及对应的酒店名称,按评论时间降序排序。
将这3个 SQL 语句分别复制粘贴至 【提交结果.docx】中对应的任务序号下。