模块一:平台搭建与运维

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

1.子任务一:Hadoop 完全分布式安装配置

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

1、从Master中的/opt/software目录下将文件hadoop-3.1.3.tar.gz、jdk

-8u191-linux-x64.tar.gz 安装 包解压到/opt/module 路径中(若路径不存在,则需新建), 将 JDK 解压命令复制并粘贴至客户端桌面【Release\任务D提交结果.docx】中对应的任务序号下;

答:

tar zxvf jdk-8u202-linux-x64.tar.gz -C /root/software

2、修改Master中/etc/profile文件,设置JDK环境变量并使其生效,配置完毕后在 Master 节点分别执行“java -version”和“javac”命令,将命令行执行结果分别截图 并粘贴至客户端桌面【Release\任务 D 提交结果.docx】中对应的任务序号下;

答:

vi /etc/profile

在文件最底部添加如下内容

export JAVA_HOME=/root/software/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\任务 D 提交结果.docx】中对应的任务 序号下;

答:

hostnamectl set-hostname master

hostnamectl set-hostname slave1

hostnamectl set-hostname slave2

在master上生成SSH密钥对

执行ssh-keygen -t rsa,一直回车即可

将master上的公钥拷贝到slave1和slave2上;

ssh-copy-id slave1

根据提示输入yes以及目标主机密码即可,slave2同理。

scp -r /root/software/jdk1.8.0_202 root@slave1:/root/software/

scp -r /root/software/jdk1.8.0_202 root@slave2:/root/software/

环境变量配置同上。

4、在 Master 将 Hadoop 解压到/opt/module(若路径不存在,则需新建)目录下,并将解压包分发至 slave1、slave2中,其中 master、slave1、slave2 节点均作为 datanode, 配置好相关环境,初始化 Hadoop 环境 namenode,将初始化 命令及初始化结果截图(截取初始化结果日志最后 20 行即可)粘贴至客户端桌面【Release\任务 D 提交结果.docx】 中对应的任务序号下;

答:

tar zxvf hadoop-3.2.1.tar.gz -C /root/software/

scp -r /root/software/hadoop-3.2.1 root@slave1:/root/software/

scp -r /root/software/hadoop-3.2.1 root@slave2:/root/software/

依次配置hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml和workers配置文件

hadoop-env.sh:

export JAVA_HOME=/root/software/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>/root/software/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>/root/software/hadoop-3.2.1/hadoopDatas/namenodeDatas</value>

</property>

<!– datanode存放的位置,老版本是dfs.data.dir –>

<property>

        <name>dfs.datanode.data.dir</name>

    <value>/root/software/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>/root/software/hadoop-3.2.1/share/hadoop/mapreduce/*:/root/software/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

在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

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

vi /etc/profile

export HADOOP_HOME=/root/software/hadoop-3.2.1

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

在主节点格式化集群

hdfs namenode -format

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

答:

在主节点依次启动HDFS、YARN

start-all.sh

2.子任务二: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\任务 D 提交结果.docx】中对应的任务序号下;

答:

tar zxf apache-hive-3.1.2-bin.tar.gz -C /root/software/

2、设置 Hive 环境变量,并使环境变量生效,执行命令 hive –version 并将命令与结果截图粘贴至客户端桌面 【Release\任务 D 提交结果.docx】中对应的任务序号下;

答:

vi /etc/profile

export HIVE_HOME=/root/software/apache-hive-3.1.2-bin

export PATH=$PATH:$HIVE_HOME/bin

source /etc/profile

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

答:

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

vim hive-env.sh

HADOOP_HOME=/root/software/hadoop-3.2.1

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

Cp /root/software/mysql-connector-java-5.1.47.jar /root/software/apache-hive-3.1.2-bin/lib

创建一个名为hive-site.xml的文件、配置

touch hive-site.xml

vim hive-site.xml

<configuration>

    <property>

        <name>javax.jdo.option.ConnectionURL</name>

        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>

        <description>JDBC connect string for a JDBC metastore</description>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionDriverName</name>

        <value>com.mysql.jdbc.Driver</value>

        <description>Driver class name for a JDBC metastore</description>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionUserName</name>

        <value>root</value>

        <description>username to use against metastore database</description>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>123456</value>

        <description>password to use against metastore database</description>

    </property>

</configuration>

初始化源数据库

/root/software/apache-hive-3.1.2-bin/bin/schematool -initSchema -dbType mysql -verbos

3.子任务三:Flume 安装配置

本任务需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境,具体要求如下:

1 、 从 Master 中 的 /opt/software 目录下将文件 apache-flume-

1.9.0-bin.tar.gz 安装包解压到/opt/module目录下,将解压命令复制并粘贴至客户端桌面【Release\任务 D 提交结果.docx】中对应的任务序号下;

答:

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

2、完善相关配置,设置 Flume 环境变量,并使环境变量生效,执行命令 flume-ng version 并将命令与结果截图粘贴至客户端桌面【Release\任务 D 提交结果.docx】中对应的任务序号下;

答:

vim /etc/profile

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=/usr/local/jdk1.8.0

3、启动 Flume 传输 Hadoop 日志(namenode 或 datanode 日志),查看 HDFS 中/tmp/flume 目录下生成的内容,将查看命令及结果(至少 5 条结果)截图粘贴至客户端桌面 【Release\任务 D 提交结果.docx】中对应的任务序号下。

答:

vim conf/flume-conf-hdfs.properties,内容如下:

# Define agent name  

a1.sources = r1  

a1.sinks = k1  

a1.channels = c1  

 

# Describe/configure the source  

a1.sources.r1.type = exec  

a1.sources.r1.command = tail -F /root/software/hadoop-3.2.1/logs/hadoop-root-datanode-master.log

 

# Describe the sink  

a1.sinks.k1.hdfs.useLocalTimeStamp=true

a1.sinks.k1.type = hdfs  

a1.sinks.k1.hdfs.path = hdfs://60.0.0.6:9000/tmp/flume/%Y%m%d%H%M%S.log  

a1.sinks.k1.hdfs.use_header = true  

a1.sinks.k1.hdfs.header_key = host  

 

# Define the memory channel  

a1.channels.c1.type = memory  

a1.channels.c1.capacity = 10000

 

# Bind the source and sink to the channel  

a1.sources.r1.channels = c1  

a1.sinks.k1.channel = c1

启动:./flume-ng agent -c conf -n a1 -f ../conf/flume-conf-hdfs.properties -Dflume.root.logger=INFO,console

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

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

1、配置服务端 MySQL 数据库的远程连接。

答:

use mysql

update user set host = ‘%’ where user = ‘root’;

2、初始化 MySQL 数据库系统,将完整命令及初始化成 功的截图复制粘贴至客户端桌面【Release\任务 C 提交结 果.docx】中对应的任务序号下。

答:

mysqld –initialize

3、配置 root 用户允许任意 ip 连接,将完整命令截图 复制粘贴至客户端桌面【Release\任务 C 提交结果.docx】 中对应的任务序号下。

答:

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

4、通过 root 用户登录 MySQL 数据库系统,查看 mysql 库下的所有表,将完整命令及执行命令后的结果的截图复制粘贴至客户端桌面【Release\任务 C 提交结果.docx】中对应的任务序号下。

答:

use mysql;

show tables;

5、输入命令以创建新的用户。完整命令及执行命令后的结果的截图复制粘贴至客户端桌面【Release\任务 C 提交结果.docx】中对应的任务序号下。

答:

CREATE USER ‘new_user’@’localhost’ IDENTIFIED BY ‘password123’;

6、授予新用户访问数据的权限。完整命令及执行命令 后的结果的截图复制粘贴至客户端桌面【Release\任务 C 提 交结果.docx】中对应的任务序号下。

答:

GRANT ALL PRIVILEGES ON *.* TO ‘new_user’@’localhost’;

7、刷新权限。完整命令及执行命令后的结果的截图复 制粘贴至客户端桌面【Release\任务 C 提交结果.docx】中 对应的任务序号下。

答:

FLUSH PRIVILEGES;

2.子任务二:创建相关表

1、根据以下数据字段在 MySQL 数据库中创建酒店表(hotel)。酒店表字段如下:

2024年职业院校中职组ZZ052大数据应用与服务赛项赛题第10套+部分答案

答:

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)。评论表字段如下:

2024年职业院校中职组ZZ052大数据应用与服务赛项赛题第10套+部分答案 2024年职业院校中职组ZZ052大数据应用与服务赛项赛题第10套+部分答案

答:

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 文件将这两份数据导入任意自己创建 的数据库中,并对其中的数据进行如下操作:

1、在 hotel_all 表中删除 id 为 25 的酒店数据;

2、在 comment_all 表中将 id 为 30 的评分改为 5。

将这两个 SQL 语句分别截图复制粘贴至客户端桌面【Release\任务 C 提交结果.docx】中对应的任务序号下。

答:

DELETE FROM hotel_all WHERE id=25;

UPDATE comment_all set score=5 WHERE id=30;

相关新闻

联系我们

027-87870986

在线咨询:点击这里给我发消息

邮件:931234110@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息