子任务一:启动大数据组件服务

(0 / 4分)

本任务需要使用root 用户启动大数据组件服务,具体要求如下:

考核条件如下 :

1.

在master节点、slave1节点、slave2节点分别启动zookeeper;

(0/ 1分)

在master节点、slave1节点、slave2节点分别启动zookeeper,查看各节点进程及状态。

操作环境:

master、slave1、slave2、master、slave1、slave2

2.

启动Hadoop集群(包括hdfs和yarn),使用jps命令查看master节点与slave1节点的Java进程;

(0/ 1分)

启动Hadoop集群(包括hdfs和yarn),使用jps命令查看master节点与slave1节点的Java进程;

master

slave1

slave2

NameNode

DataNode

DataNode

DataNode

NodeManager

NodeManager

NodeManager

ResourceManager

SecondaryNameNode

操作环境:

master、slave1、slave2

3.

在master节点中查看MySQL Server服务状态,开启hive元数据服务,正常进入Hive终端进行相关操作

(0/ 1分)

Hive安装成功后,进入Hive终端,创建gzedu数据库,并在HDFS上进行查看。

操作环境:

master、master

4.

启动Spark集群,使用jps命令查看master、slave1和slave2节点的Java进程。

(0/ 1分)

启动Spark集群,使用jps命令查看master、slave1和slave2节点的Java进程。

主机

角色

master

Master

slave1

Worker

slave2

Worker

操作环境:

master、slave1、slave2

下面给出子任务一:启动大数据组件服务一次性命令清单,全部用 root 执行,按 4 个得分点顺序检查。
(IP:master 101.200.150.180,slave1 123.56.96.9,slave2 123.56.135.124)


✅ 1. 三台同时启动 Zookeeper(1 分)

master / slave1 / slave2 各自执行

bash

复制

zkServer.sh start
zkServer.sh status      # 应出现 Mode: follower 或 leader

一键脚本(在 master 批量):

bash

复制

for h in master slave1 slave2; do
  ssh $h 'zkServer.sh start && zkServer.sh status'
done

✅ 2. 启动 Hadoop 集群(HDFS + YARN)(1 分)

只在 master 执行

bash

复制

start-dfs.sh
start-yarn.sh

检查期望进程
master 执行:

bash

复制

jps
# 需出现:NameNode、ResourceManager、SecondaryNameNode

slave1 执行:

bash

复制

jps
# 需出现:DataNode、NodeManager

slave2 同理。


✅ 3. MySQL & Hive 元数据服务 & 进 Hive 建库(1 分)

master 执行

bash

复制

# 确认 MySQL 已运行
systemctl status mysqld

# 启动元数据服务
nohup hive --service metastore > metastore.log 2>&1 &

# 进入 Hive CLI
hive

在 Hive 提示符下:

sql

复制

CREATE DATABASE gzedu;
EXIT;

HDFS 上验证:

bash

复制

hdfs dfs -ls /user/hive/warehouse
# 应看到 gzedu.db 目录

✅ 4. 启动 Spark 集群(1 分)

master 执行

bash

复制

start-master.sh
start-slaves.sh          # 会到 slave1/2 启动 worker

检查进程
master:

bash

复制

jps
# 需出现:Master

slave1 / slave2:

bash

复制

jps
# 需出现:Worker

Web UI 验证:
浏览器打开 http://master:8080 → Alive Workers 应为 2。


✅ 一键汇总(master 上可复制)

bash

全部输出符合期望进程即子任务一 4 分拿满

子任务二:文件系统垃圾回收

(1 / 1分)

开启垃圾回收站,可以将要删除的文件首先放置在回收站中,等待配置的时间结束,进行真正的数据删除。

**Linux是没有垃圾回收站的,hdfs同样默认是没有的,但是hdfs是可以开启垃圾回收站的。**开启垃圾回收站,可以将要删除的文件首先放置在回收站中,等待配置的时间结束,进行真正的数据删除。

启动 HDFS 上的垃圾回收机制只需要配置两个参数:

  • 第一个参数:fs.trash.interval表示检查点被删除之前的分钟数,默认为0,单位为分钟。 如果为0,则表示禁用垃圾回收功能。 这里我们可以设置为1440分钟,即1天,保留在垃圾回收站的文件或文件夹超过1天后会自动删除。在生产上的 HDFS 垃圾回收机制是必须开启的,一般设置成7天或者14天,设置更长。
  • 第二个参数:fs.trash.checkpoint.interval表示垃圾检查点之间的分钟数,默认为 0,单位为分钟。 该值应该小于或等于 fs.trash.interval,如果为 0,则将该值设置为 fs.trash.interval 的值,所以生产上我们直接设置为 0。每次检查点运行时,它都会创建一个新的检查点,并删除超过 fs.trash.interval分钟前创建的检查点。

考核条件如下 :

1.

设置HDFS垃圾回收机制,要求保留垃圾回收站的文件或文件夹7天,超过就自动删除;

(1/ 1分)

设置HDFS垃圾回收机制,要求保留垃圾回收站的文件或文件夹7天,超过就自动删除;

操作环境:

master

在 master 节点操作即可,仅需往 core-site.xml 追加两个垃圾回收参数并重启 HDFS 使配置生效。


✅ 步骤(master 执行)

  1. 进入配置目录

bash

复制

cd /root/software/hadoop-3.1.3/etc/hadoop
  1. core-site.xml<configuration> 段末追加(7 天 = 10080 分钟)

bash

复制 ----------有问题,手动编辑

cat >> core-site.xml <<'EOF'
  <!-- GC 回收站 -->
  <property>
    <name>fs.trash.interval</name>
    <value>10080</value>
  </property>
  <property>
    <name>fs.trash.checkpoint.interval</name>
    <value>0</value>
  </property>
EOF
  1. 分发到 slave 节点

bash

复制

scp core-site.xml root@slave1:/root/software/hadoop-3.1.3/etc/hadoop/
scp core-site.xml root@slave2:/root/software/hadoop-3.1.3/etc/hadoop/
  1. 重启 HDFS 使配置生效

bash

复制

stop-dfs.sh
start-dfs.sh

✅ 验证

bash

复制

# 删除一个测试文件
hdfs dfs -rm -r /tmp/test.txt
# 应出现类似
# Moved to trash: /user/root/.Trash/Current/tmp/test.txt

7 天后(10080 分钟)该检查点会被自动清空。

任务2:数据装载与程序调用

子任务一:文件上传下载

(0 / 5分)

本任务需要使用HDFS命令,已安装Hadoop及需要配置前置环境,具体要求如下:

考核条件如下 :

1.

在HDFS上创建 /user/hadoop/input目录;

(0/ 2分)

在HDFS上创建 /user/hadoop/input目录;

操作环境:

master

2.

在master节点将文件上传到HDFS的/user/hadoop/input目录下;

(0/ 2分)

文件路径:/root/software/hadoop-3.1.3/README.txt

操作环境:

master

3.

修改权限,赋予目录/user/hadoop/input最高777权限;

(0/ 1分)

修改权限,赋予目录/user/hadoop/input最高777权限;

操作环境:

master

下面给出 子任务一:文件上传下载 的完整 HDFS 命令清单,全部在 master(172.18.1.158)root 执行即可。


✅ 1. 创建目录(2 分)

bash

hdfs dfs -mkdir -p /user/hadoop/input

✅ 2. 上传文件(2 分)

bash

hdfs dfs -put /root/software/hadoop-3.1.3/README.txt /user/hadoop/input/

✅ 3. 赋最高权限(1 分)

bash

hdfs dfs -chmod -R 777 /user/hadoop/input

✅ 验证

bash

# 查看目录及文件
hdfs dfs -ls /user/hadoop/input
# 查看权限
hdfs dfs -ls /user/hadoop

子任务二:Hadoop程序运行(0 / 5分)

本任务需要使用 Hadoop 默认提供的 sudoku 示例来完成如下数独题目解题任务,将数独解题结果写入主机/root/result.data:
程序路径:/root/software/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar

考核条件如下 :

1.

本任务需要使用 Hadoop 默认提供的 sudoku 示例来完成如下数独题目解题任务,将数独解题结果写入主机/root/result.data

(0/ 5分)

本任务需要使用 Hadoop 默认提供的 sudoku 示例来完成如下数独题目解题任务,将数独解题结果写入主机/root/result.data

8 5 ? 3 9 ? ? ? ?
? ? 2 ? ? ? ? ? ?
? ? 6 ? 1 ? ? ? 2
? ? 4 ? ? 3 ? 5 9
? ? 8 9 ? 1 4 ? ?
3 2 ? 4 ? ? 8 ? ?
9 ? ? ? 8 ? 5 ? ?
? ? ? ? ? ? 2 ? ?
? ? ? ? 4 5 ? 7 8

操作环境:

master

vim   /tmp/sudoku.txt

hadoop jar /root/software/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar \
  sudoku /tmp/sudoku.txt /tmp/result


vim /root/result.data 放进去

更多推荐