2024年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…

本文详细描述了2024年全国职业院校技能大赛中职组大数据应用与服务赛项的题库,涉及Hadoop的分布式安装配置,包括JDK环境设置、主机名和SSH密钥管理,HDFS和YARN的配置,以及Kafka和Hive的安装、Zookeeper配置和数据库操作,如MySQL远程连接、表创建和数据维护。
摘要由CSDN通过智能技术生成

2024年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…
武汉唯众智创科技有限公司
2024 年 3 月
联系人:辜渝傧13037102709

题号:试题03

ZZ052-大数据应用与服务赛项试题03

模块一:平台搭建与运维

(一)任务一:大数据平台搭建

**1. 子任务一:Hadoop 完全分布式安装配置
本任务需要使用 root 用户完成相关配置,安装 Hadoop 需要配置前置环境。命令中要求使用绝对路径,具体要求如下:
(1)从 Master 中的/opt/software 目录下将文件 hadoop3.1.3.tar.gz 、 jdk-8u191-linux-x64.tar.gz 安装包解压到/opt/module 路径中(若路径不存在,则需新建),将 JDK 解压命令复制并粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下;
答:tar zxvf jdk-8u202-linux-x64.tar.gz -C /opt/module
(2)修改 Master 中/etc/profile 文件,设置 JDK 环境变量并使其生效,配置完毕后在 Master 节点分别执行“java version”和“javac”命令,将命令行执行结果分别截图并粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下;
答:vi /etc/profile
在文件最底部添加如下内容

export JAVA_HOME=/opt/module/jdk1.8.0
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

添加完成后保存。执行source /etc/profile命令。
(3)请完成 host 相关配置,将三个节点分别命名为 master、slave1、slave2,并做免密登录,用 scp 命令并使用绝对路径从Master复制JDK解压后的安装文件到slave1、slave2 节点(若路径不存在,则需新建),并配置 slave1、slave2 相关环境变量,将全部 scp 复制 JDK 的命令复制并粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下;
答:输入java -version查看版本。
(1)在master上生成SSH密钥对
执行ssh-keygen -t rsa,一直回车即可
(2)将master上的公钥拷贝到slave1和slave2上;
ssh-copy-id slave1
根据提示输入yes以及目标主机密码即可,slave2同理。
在 master 上通过 SSH 连接 slave1 和 slave2 来验证。
ssh slave1
执行上述命令后无需输入密码即可直接连接到slave1表示成功,slave2同理。
(4)在 Master 将 Hadoop 解压到/opt/module(若路径不存在,则需新建)目录下,并将解压包分发至 slave1、slave2 中,其中 master、slave1、slave2 节点均作为 datanode,配置好相关环境,初始化 Hadoop 环境 namenode,将初始化命令及初始化结果截图(截取初始化结果日志最后 20 行即可)粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下;
答:

tar zxvf hadoop-3.2.1.tar.gz -C /opt/module/
依次配置hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml和workers配置文件
hadoop-env.sh:
export JAVA_HOME=/opt/module/jdk1.8.0
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
core-site.xml:
<!-- 在configuration标签内添加以下内容 -->
<property>
	<name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
<!-- 临时文件存放位置 -->
<property>
	<name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-3.2.1/hadoopDatas/tempDatas</value>
</property>
hdfs-site.xml:
<!-- 在configuration标签内添加以下内容 -->
<!-- 设置副本数量 -->
<property>
        <name>dfs.replication</name>
    <value>2</value>
</property>
<!-- namenode存放的位置,老版本是用dfs.name.dir -->
<property>
        <name>dfs.namenode.name.dir</name>
    <value>/opt/module/hadoop-3.2.1/hadoopDatas/namenodeDatas</value>
</property>
<!-- datanode存放的位置,老版本是dfs.data.dir -->
<property>
        <name>dfs.datanode.data.dir</name>
    <value>/opt/module/hadoop-3.2.1/hadoopDatas/datanodeDatas/</value>
</property>
<!-- 关闭文件上传权限检查 -->
<property>
        <name>dfs.permissions.enalbed</name>
    <value>false</value>
</property>
<!-- namenode运行在哪儿节点,默认是0.0.0.0:9870,在hadoop3.x中端口从原先的50070改为了9870 -->
<property>
        <name>dfs.namenode.http-address</name>
    <value>master:9870</value>
</property>
<!-- secondarynamenode运行在哪个节点,默认0.0.0.0:9868 -->
<property>
        <name>dfs.namenode.secondary.http-address</name>
    <value>master:9868</value>
</property>
mapred-site.xml:
<!-- 在configuration标签内添加以下内容 -->
<!-- 设置mapreduce在yarn平台上运行 -->
<property>
        <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<!-- 配了上面这个下面这个也得配, 不然跑mapreduce会找不到主类。MR应用程序的CLASSPATH-->
<property>
        <name>mapreduce.application.classpath</name>
    <value>/opt/module/hadoop-3.2.1/share/hadoop/mapreduce/*:/opt/module/hadoop-3.2.1/share/hadoop/mapreduce/lib/*</value>
</property>
<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
</property>
yarn-site.xml:
<!-- 在configuration标签内添加以下内容 -->
<!-- resourcemanager运行在哪个节点 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
<!-- nodemanager获取数据的方式 -->
<property>
        <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<!-- 关闭虚拟内存检查 -->
<property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
workers:

删掉里面的localhost,添加以下内容
master
slave1
slave2
(1)在master节点的Hadoop安装目录下依次创建hadoopDatas/tempDatas 、 hadoopDatas/namenodeDatas 、hadoopDatas/datanodeDatas、hadoopDatas/dfs/nn/edits、hadoopDatas/dfs/snn/name 和hadoopDatas/dfs/nn/snn/edits目录进入hadoop安装目录下执行下面命令:

mkdir -p hadoopDatas/tempDatas
mkdir -p hadoopDatas/namenodeDatas 
mkdir -p hadoopDatas/datanodeDatas
mkdir -p hadoopDatas/dfs/nn/edit
mkdir -p hadoopDatas/dfs/snn/name
mkdir -p hadoopDatas/dfs/nn/snn/edits

(2)在master节点上使用scp命令将配置完的Hadoop安装目录直接拷贝至slave1和slave2
答:

scp -r /opt/module/hadoop-3.2.1 root@slave1:/opt/module/
scp -r /opt/module/hadoop-3.2.1 root@slave2:/opt/module/

(3)三台节点的“/etc/profile”文件中配置Hadoop环境变量HADOOP_HOME和PATH的值,并让配置文件立即生效;
答:

vi /etc/profile
export HADOOP_HOME=/opt/module/hadoop-3.2.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

(4)在主节点格式化集群
答:hdfs namenode -format
(5)启动 Hadoop 集群(包括 hdfs 和 yarn),使用 jps 命令查看 Master 节点与 slave1 节点的 Java 进程,将 jps 命令与结果截图粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答:

start-all.sh
mapred --daemon start historyserver(mr-jobhistory-daemon.sh start historyserver)

**2. 子任务二:Kafka 安装配置
本任务需要使用 root 用户完成相关配置,已安装 Hadoop 及需要配置前置环境,具体要求如下:
(1)从 Master 中的/opt/software 目录下将文件 apachezookeeper-3.5.7-bin.tar.gz 、 kafka_2.12-2.4.1.tgz 解压到 /opt/module 目录下,将 Kafka 解压命令复制并粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下;
答:

tar zxf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module
tar zxf /opt/software/kafka_2.12-2.4.1.tgz -C /opt/module

(2)配置好 zookeeper,其中 zookeeper 使用集群模式,分别将 master、slave1、slave2 作为其节点(若 zookpeer 已安装配置好,则无需再次配置),配置好 Kafka 的环境变量,使用 kafka-server-start.sh --version 查看 Kafka 的版本内容,并将命令和结果截图粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下;
答:

vim /etc/profile
export ZOOKEEPER_HOME=/opt/module/apache-zookeeper-3.5.7-bin
export PATH=$PATH:$ZOOKEEPER_HOME/bin
Zookeeper配置:
cp /opt/module/apache-zookeeper-3.5.7-bin/conf/zoo_sample.cfg /opt/module/apache-zookeeper-3.5.7-bin/conf/zoo.cfg
vim conf/zoo.cfg
dataDir=/opt/module/apache-zookeeper-3.5.7-bin/data
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
mkdir /opt/module/apache-zookeeper-3.5.7-bin/data
cd data/
echo 1 > myid
分发安装包到其他机器
scp -r /opt/module/apache-zookeeper-3.5.7-bin root@slave1:/opt/module/
scp -r /opt/module/apache-zookeeper-3.5.7-bin root@slave2:/opt/module/
修改其他机器的myid文件,slave1改为2,slave2改为3
Kafka环境变量配置
vim /etc/profile
export KAFKA_HOME=/opt/module/kafka_2.12-2.4.1
export PATH=$PATH:$KAFKA_HOME/bin

(3)完善其他配置并分发 Kafka 文件到 slave1、slave2 中,并在每个节点启动 Kafka,创建 Topic,其中 Topic 名称为 installtopic,分区数为 2,副本数为 2,将创建命令和创建成果截图粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答:

Kafka配置:
vim config/server.properties
broker.id=0
log.dirs=/opt/module/kafka_2.12-2.4.1/logs
zookeeper.connect=master:2181,slave1:2181,slave2:2181
host.name=master
分发文件
scp -r /opt/module/kafka_2.12-2.4.1 root@slave1:/opt/module/
scp -r /opt/module/kafka_2.12-2.4.1 root@slave2:/opt/module/
依次修改各服务器上配置文件的的 broker.id,分别是 0,1,2 不得重复。
修改host.name为主机名
每个节点启动zk与kafka:
zkServer.sh start
/opt/module/kafka_2.12-2.4.1/bin/kafka-server-start.sh /opt/module/kafka_2.12-2.4.1/config/server.properties
创建topic:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 2 --topic installtopic

**3. 子任务三:Hive 安装配置
本任务需要使用 root 用户完成相关配置,已安装 Hadoop 及需要配置前置环境,具体要求如下:
(1)从 Master 中的/opt/software 目录下将文件 apache-
hive-3.1.2-bin.tar.gz、mysql-connector-java-5.1.37.jar 解压到
/opt/module 目录下,将命令复制并粘贴至客户端桌面
【Release\提交结果.docx】中对应的任务序号下;
答:tar zxf apache-hive-3.1.2-bin.tar.gz -C /opt/module/
(2)设置 Hive 环境变量,并使环境变量生效,执行命令 hive --version 并将命令与结果截图粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下;
答:

vi /etc/profile
export HIVE_HOME=/opt/module/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile

(3)完成相关配置并添加所依赖包,将 MySQL 数据库作为 Hive 元数据库。初始化 Hive 元数据,并通过 schematool 相关命令执行初始化,将初始化结果截图(范围为命令执行结束的最后 10 行)粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答:/opt/module/apache-hive-3.1.2-bin/bin/schematool -initSchema -dbType mysql -verbos

(二)任务二:数据库配置维护

** 1. 子任务一:数据库配置

(1)配置服务端 MySQL 数据库的远程连接。
答:

use mysql
update user set host = '%' where user = 'root';

(2)初始化 MySQL 数据库系统,将完整命令及初始化成功的截图复制粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答: mysqld --initialize
(3)配置 root 用户允许任意 ip 连接,将完整命令截图复制粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
(4)通过 root 用户登录 MySQL 数据库系统,查看 mysql 库下的所有表,将完整命令及执行命令后的结果的截图复制粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答:

use mysql;
show tables;

(5)输入命令以创建新的用户。完整命令及执行命令后的结果的截图复制粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答:CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password123';
(6)授予新用户访问数据的权限。完整命令及执行命令后的结果的截图复制粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答:GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost';GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost';
(7)刷新权限。完整命令及FLUSH PRIVILEGES;执行命令后的结果的截图复制粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答:FLUSH PRIVILEGES;
**2. 子任务二:创建相关表
(1)根据以下数据字段在 MySQL 数据库中创建酒店表
(hotel)。酒店表字段如下:
在这里插入图片描述

答:

CREATE TABLE `hotel` (
`id` int(11) DEFAULT NULL COMMENT '酒店编号',
`hotel_name` varchar(255) DEFAULT NULL COMMENT '酒店名称',
`city` varchar(255) DEFAULT NULL COMMENT '城市',
`province` varchar(255) DEFAULT NULL COMMENT '省份',
`level` varchar(255) DEFAULT NULL COMMENT '星级',
`room_num` int(11) DEFAULT NULL COMMENT '房间数',
`score` double DEFAULT NULL COMMENT '评分',
`shopping` varchar(255) DEFAULT NULL COMMENT '评论数'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

(2)根据以下数据字段在 MySQL 数据库中创建评论表
(comment)。评论表字段如下:
在这里插入图片描述
将这两个 SQL 建表语句分别截图复制粘贴至客户端桌面【Release\提交结果.docx】中对应的任务序号下。
答:

CREATE TABLE `comment` (
`id` int(11) DEFAULT NULL COMMENT '评论编号',
`name` varchar(255) DEFAULT NULL COMMENT '酒店名称',
`commentator` varchar(255) DEFAULT NULL COMMENT '评论人',
`score` double DEFAULT NULL COMMENT '评分',
`comment_time` datetime DEFAULT NULL COMMENT '评论时间',
`content` varchar(255) DEFAULT NULL COMMENT '评论内容'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

**3. 子任务三:维护数据表
根据已给到的 sql 文件将这两份数据导入任意自己创建的数据库中,并对其中的数据进行如下操作:
在 comment_all 表中将 id 为 30 的评分改为 5;
在 hotel_all 表中统计各商圈的酒店总数。
将这两个 SQL 语句分别截图复制粘贴至客户端桌面
【Release\提交结果.docx】中对应的任务序号下。
答:

 DELETE FROM hotel_all WHERE id=25;
UPDATE comment_all set score=5 WHERE id=30;	 

更多内容请联系
武汉唯众智创科技有限公司
欲了解更多信息,欢迎登录www.whwzzc.com,咨询电话13037102709
*本资料产品图片及技术数据仅供参考,如有更新恕不另行通知,具体内容解释权归唯众所有。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值