首页 > 其他分享 >(超详细)备赛笔记2024年全国职业院校(中职组)技能大赛(ZZ052大数据应用与服务)第二套试题 持续更新中!

(超详细)备赛笔记2024年全国职业院校(中职组)技能大赛(ZZ052大数据应用与服务)第二套试题 持续更新中!

时间:2024-07-27 15:55:01浏览次数:9  
标签:ZZ052 中职 职业院校 hadoop etc mysql HOME root software

2024年职业院校中职组ZZ052大数据应用与服务赛项赛题

第02套【子任务一:基础环境准备】

模块一:平台搭建与运维

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

1.子任务一:基础环境准备

(1)对三台环境更新主机名,配置 hosts 文件,以 node01作为时钟源并进行时间同步;

# 分别在不同主机上面执行更新主机名
hostnamectl set-hostname node01
hostnamectl set-hostname node02
hostnamectl set-hostname node03

# 配置hosts文件 
vim /etc/hosts

# 配置以下内容
172.15.0.2      node01
172.15.0.3      node02
172.15.0.4      node03

# 分发到其他机器
scp /etc/hosts node02:/etc/
scp /etc/hosts node03:/etc/

(2)执行命令生成公钥、私钥,实现三台机器间的免秘登陆;

# 都在node01上进行
ssh-keygen -t rsa #按3次回车

ssh-copy-id node01
ssh-copy-id node02
ssh-copy-id node03

(3)从宿主机/root 目录下将文件 jdk-8u212-linux-x64.tar.gz 复制到容器 node01 中的/root/software 路径中(若路径不存在,则需新建),将 node01 节点 JDK 安装包解压到/root/software 路径中(若路径不存在,则需新建);

# 在node01里面执行
mkdir /root/software
# 在node02里面执行
mkdir /root/software
# 在node03里面执行
mkdir /root/software

# 在宿主机上执行
docker cp /root/jdk-8u212-linux-x64.tar.gz  node01:/root/software

# 在node01里面执行
tar -zxvf /root/software/jdk-8u212-linux-x64.tar.gz -C /root/software/

(4)修改容器中/etc/profile 文件,设置 JDK 环境变量并使其生效,配置完毕后在 node01 节点分别执行“java -version”和“javac”命令

node01:
vim /etc/profile

添加内容:
#JAVA_HOME
export JAVA_HOME=/root/software/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

从node01将配置文件分发到node02和node03中
scp /etc/profile node02:/etc/
scp /etc/profile node03:/etc/

分别在node01 node02 node03中执行
source /etc/profile

在node01执行
java -version
javac
2.子任务二:Hadoop 完全分布式安装配置

本任务需要使用 root 用户完成相关配置,安装 Hadoop需要配置前置环境。命令中要求使用绝对路径,具体要求如下:

(1)在 node01 将 Hadoop 解压到/root/software(若路径不存在,则需新建)目录下,并将解压包分发至 node02、node03 中,其中三个节点节点均作为 datanode,配置好相关环境,初始化 Hadoop 环境 namenode;

#  在 主 节 点 将 Hadoop 安 装 包 解 压 到/root/software目录下;
tar -zxvf /root/software/hadoop-3.1.3.tar.gz -C /root/software/

#配置hadoop-env.sh
vim /root/software/hadoop-3.1.3/etc/hadoop/hadoop-env.sh
#配置内容
export JAVA_HOME=/root/software/jdk1.8.0_212
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
vim /root/software/hadoop-3.1.3/etc/hadoop/core-site.xml
#配置内容
<configuration>
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://node01:9000</value>
</property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/root/software/hadoop-3.1.3/data</value>
</property>
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
</property>
    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
</property>
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>
</configuration>

#配置hdfs-site.xml
vim /root/software/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
#配置内容
<configuration>
    <property>
        <name>dfs.namenode.http-address</name>
        <value>node01:9870</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node01:9868</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

#配置mapred-site.xml
vim /root/software/hadoop-3.1.3/etc/hadoop/mapred-site.xml
#配置内容
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
           <name>yarn.app.mapreduce.am.env</name>
           <value>HADOOP_MAPRED_HOME=/root/software/hadoop-3.1.3</value>
         </property>
         <property>
           <name>mapreduce.map.env</name>
           <value>HADOOP_MAPRED_HOME=/root/software/hadoop-3.1.3</value>
         </property>
         <property>
           <name>mapreduce.reduce.env</name>
           <value>HADOOP_MAPRED_HOME=/root/software/hadoop-3.1.3</value>
         </property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>node01:10020</value>
</property>

<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>node01:19888</value>
</property>
</configuration>

#配置 yarn-site.xml
vim /root/software/hadoop-3.1.3/etc/hadoop/yarn-site.xml
#配置内容
<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node01</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>

    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>6144</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>7168</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>8</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-vcores</name>
        <value>1</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-vcores</name>
        <value>8</value>
    </property>
<property>
     <name>yarn.nodemanager.pmem-check-enabled</name>
     <value>false</value>
</property>
<property>
     <name>yarn.nodemanager.vmem-check-enabled</name>
     <value>false</value>
</property>
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<property>
    <name>yarn.log.server.url</name>
    <value>http://node01:19888/jobhistory/logs</value>
</property>
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>
</configuration>

#配置workers
vim /root/software/hadoop-3.1.3/etc/hadoop/workers
#删掉localhost添加以下内容:
node01
node02
node03

#在node01节点上使用scp命令将配置完的Hadoop安装目录直接拷贝至node02和node03;
scp -r /root/software/hadoop-3.1.3 node02:/root/software/
scp -r /root/software/hadoop-3.1.3 node03:/root/software/

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

添加以下内容:
#HADOOP_HOME
export HADOOP_HOME=/root/software/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

在node01上将配置文件分发到node02和node03上
scp /etc/profile node02:/etc/
scp /etc/profile node03:/etc/

分别在node01 node02 node03执行命令
source /etc/profile

#在主节点格式化集群
hadoop namenode -format

(2)开启集群,查看各节点进程。

# 在主节点依次启动HDFS、YARN集群和历史服务
启动HDFS
start-dfs.sh

启动YARN
start-yarn.sh

启动历史服务
mapred --daemon start historyserver
或
mr-jobhistory-daemon.sh start historyserver
3.子任务三:Hive 安装配置

(1)从宿主机/root 目录下将文件 apache-hive-3.1.2-bin.tar.gz、mysql-connector-java-5.1.37.jar 复制到容器 node03 中的/root/software 路径中(若路径不存在,则需新建),将 node03 节点 Hive 安装包解压到/root/software目录下;

docker cp /root/apache-hive-3.1.2-bin.tar.gz node03:/root/software
docker cp /root/mysql-connector-java-5.1.37.jar node03:/root/software

node03:
tar -zxvf /root/software/apache-hive-3.1.2-bin.tar.gz -C /root/software/

(2)设置 Hive 环境变量,并使环境变量生效,执行命令 hive --version 查看版本信息;

node03:
vim /etc/profile

添加以下内容:
#HIVE_HOME
export HIVE_HOME=/root/software/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin

使环境变量生效
source /etc/profile

hive --version

(3)修改相关配置,添加依赖包,将 MySQL 数据库作为Hive 元数据库,初始化 Hive 元数据。

cd $HIVE_HOME/conf

cp ./hive-env.sh.template ./hive-env.sh

vim ./hive-env.sh

配置内容:
HADOOP_HOME=/root/software/hadoop-3.1.3
export HIVE_CONF_DIR=/root/software/apache-hive-3.1.2-bin/conf
export HIVE_AUX_JARS_PATH=/root/software/apache-hive-3.1.2-bin/lib

#  MySQL 驱 动 包mysql-connector-java-5.1.37-bin.jar拷贝到$HIVE_HOME/lib目录下
cp /root/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib

vim $HIVE_HOME/conf/hive-site.xml
#添加内容
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://node01:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
</configuration>

#初始化源数据库的元数据
解决jar包冲突
rm -rf $HIVE_HOME/lib/guava-19.0.jar
cp /root/software/hadoop-3.1.3/share/hadoop/common/lib/guava-27.0-jre.jar $HIVE_HOME/lib

schematool -initSchema -dbType mysql -verbose

注:下面需要在node03上面搭建mysql说明node03节点没有mysql 其他节点是否有mysql需要比赛时候自己判断
4.子任务四:Flume 安装配置

( 1 ) 从 宿 主 机 /root 目 录 下 将 文 件 apache-flume-1.11.0-bin.tar.gz 复制到容器 node03 中的/root/software路径中(若路径不存在,则需新建),将 node03 节点 Flume安装包解压到/root/software 目录下;

docker cp /root/apache-flume-1.11.0-bin.tar.gz node03:/root/software

node03:
tar -zxvf /root/software/apache-flume-1.11.0-bin.tar.gz -C /root/software/

(2)完善相关配置,配置 Flume 环境变量,并使环境变量生效,执行命令 flume-ng version。

node03:
vim /etc/profile

添加以下内容:
#FLUME_HOME
export FLUME_HOME=/root/software/apache-flume-1.11.0-bin
export PATH=$PATH:$FLUME_HOME/bin

source /etc/profile

cd /root/software/apache-flume-1.11.0-bin/conf

cp ./flume-env.sh.template ./flume-env.sh

vim  ./flume-env.sh

添加以下内容:
export JAVA_HOME=/root/software/jdk1.8.0_212

#查看Flume版本,检测Flume是否安装成功
flume-ng version

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

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

(1)在主机 node3 上安装 mysql-community-server,启动 mySQL 服务,根据临时密码进入数据库,并修改本地密码为“123456”;

# 将MySQL 5.7.25安装包解压到/root/software目录下;
tar -vxf /root/software/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C /root/software/

# 使 用 rpm-ivh 依 次 安 装 mysql-community-common、mysql-community- libs、mysql-community-libs-compat 、 mysql-community-client 和 mysql-community-server包;
rpm -ivh /root/software/mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh /root/software/mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh /root/software/mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
rpm -ivh /root/software/mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh /root/software/mysql-community-server-5.7.28-1.el7.x86_64.rpm

如果安装rpm -ivh /root/software/mysql-community-server-5.7.28-1.el7.x86_64.rpm出现报错
下载依赖:
yum install -y libaio
yum -y install numactl

#安装好MySQL后,使用mysql用户初始化和启动数据库;
systemctl start mysqld

查看mysql初始化密码
cat /var/log/mysqld.log | grep password

登录nysql
mysql -uroot


修改root用户密码
set password for root@localhost = password('123456');

刷新配置:
flush privileges;

退出登录
exit;

(2)开启 MySQL 远程连接权限,所有 root 用户都可以使用 123456 进行登录连接。

重新登录mysql
mysql -uroot -p

配置用户用户远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

刷新配置:
flush privileges;
2.子任务二:导入相关表

(1)将本地/root/eduhq/equipment/目录下的数据文件 root_sl_src.sql 导入 MySQL 对应数据库 root_sl_src;

-- mysql 创建库
create database if not exists root_sl_src;



-- 如果比赛没有mysql连接的图形化界面则使用以下命令:
use root_sl_src;
source '/root/eduhq/equipment/root_sl_src.sql';

(2)将本地/root/eduhq/equipment/目录下的数据文件 root_sl_ugoogds_src.sql 导 入 MySQL 对 应 数 据 库root_sl_ugoogds_src。

-- mysql 创建库
create database if not exists root_sl_ugoogds_src;

-- 如果比赛没有mysql连接的图形化界面则使用以下命令:
use root_sl_ugoogds_src;
source '/root/eduhq/equipment/root_sl_ugoogds_src.sql';

注:这里如果导入报错则需要
vim /etc/my.cnf
-- 在[mysqld]下面添加
sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
-- 重启mysql
systemctl restart mysqld
3.子任务三:维护数据表

结合已导入的两份 sql 数据,对其中的数据进行如下查询和操作。

(1)对‘root_sl_src’数据库中的‘province’数据表 进 行 修 改 , 修 改 字 段 province_id 为 24 的 记 录 的province_name,修改为‘内蒙古自治区’;

UPDATE root_sl_src.province
SET province_name = '内蒙古自治区'
WHERE province_id = 24;

(2)对‘root_sl_src’数据库中的‘city’数据表进行删除,删除字段 city_id 为 142 的记录。

DELETE FROM root_sl_src.city
WHERE city_id = 142;

标签:ZZ052,中职,职业院校,hadoop,etc,mysql,HOME,root,software
From: https://blog.csdn.net/qq_46619100/article/details/140736615

相关文章