|
|
@ -9,13 +9,12 @@ |
|
|
|
## 实验内容 |
|
|
|
|
|
|
|
- 安装Hadoop集群: `实验步骤 一)` |
|
|
|
- 了解并学习简单的Hadoop操作 :`实验步骤 二) ` |
|
|
|
- 安装Hadoop客户端: `实验步骤 三)` |
|
|
|
- MapReduce Job `实验步骤 四)` |
|
|
|
- 了解并学习简单的Hadoop操作 :`实验步骤 二) ` |
|
|
|
- MapReduce Job `实验步骤 三)` |
|
|
|
|
|
|
|
## 实验要求(仔细看) |
|
|
|
|
|
|
|
- 完成所有步骤,并在实验报告([模板下载](file/assignment3/学号-实验三.docx))中完成穿插在本指南中的作业1~作业5(只需要截图)。实验报告上传至https://send2me.cn/DU01VSCj/RAW7UL_NytyFwA |
|
|
|
- 完成所有步骤,并在实验报告([模板下载](file/assignment3/学号-实验三.docx))中完成穿插在本指南中的作业1~作业4(只需要截图)。实验报告上传至https://send2me.cn/DU01VSCj/RAW7UL_NytyFwA |
|
|
|
- 实验报告上传deadline: `3月23日23:59` |
|
|
|
|
|
|
|
## 使用产品 |
|
|
@ -90,8 +89,7 @@ |
|
|
|
|
|
|
|
**查看HDFS状态,节点信息** |
|
|
|
|
|
|
|
1. su hadoop 切换到hadoop用户 |
|
|
|
2. hdfs dfsadmin -report 查看信息 |
|
|
|
hdfs dfsadmin -report 查看信息 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -144,7 +142,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## `**************作业2:按照如下要求操作命令并截图,并插入实验报告中***************` |
|
|
|
## `**************作业2:按照如下要求操作命令并根据3和4的要求截图,并插入实验报告中***************` |
|
|
|
|
|
|
|
`作业二要求:` |
|
|
|
|
|
|
@ -154,55 +152,12 @@ |
|
|
|
> |
|
|
|
> 3. 使用cat命令查看文件内容并截图 `截图中需要包含文件夹信息` (查看的是HDFS文件系统中的info,txt,而不是本地文件系统) |
|
|
|
> |
|
|
|
> 4. 删除info.txt和test文件夹并截图 |
|
|
|
> |
|
|
|
> `操作时注意使用的用户和目录,避免出现permission denied问题` |
|
|
|
|
|
|
|
### 三) 利用安装脚本搭建客户端 |
|
|
|
|
|
|
|
> 若通过EIP来连接集群,则上述的操作命令我们都是在Hadoop集群上直接操作的,出于安全性考虑,通常我们在单独的机器上安装客户端进行任务提交和相关操作。 |
|
|
|
|
|
|
|
#### 重装系统 |
|
|
|
|
|
|
|
**由于实验步骤一中为了连接集群已通过控制台方式搭建了客户端,现将此客户端移除,可通过对云主机重装系统实现。** |
|
|
|
|
|
|
|
![chongzhuang](img/assignment3/chongzhuang.png) |
|
|
|
|
|
|
|
#### 配置环境 |
|
|
|
|
|
|
|
> 我们需要配置云主机的环境,让能够正常访问HDFS文件系统。 |
|
|
|
|
|
|
|
##### 利用安装脚本部署,可参考[文档](https://docs.ucloud.cn/uhadoop/developer/hadoopdev?id=hadoop%e5%bc%80%e5%8f%91%e6%8c%87%e5%8d%97) |
|
|
|
|
|
|
|
- 在**hadoop集群的master节点**下载安装脚本: |
|
|
|
|
|
|
|
``` |
|
|
|
wget "http://udata-new.ufile.ucloud.com.cn/uhadoop/install_uhadoop_client_new.sh" |
|
|
|
``` |
|
|
|
|
|
|
|
使用方法: |
|
|
|
|
|
|
|
在master节点/root目录下执行 |
|
|
|
|
|
|
|
``` |
|
|
|
sh /root/install_uhadoop_client_new.sh client_ip client_user password port |
|
|
|
client_ip: 客户机IP (申请的UHost) |
|
|
|
client_user: 客户机上需要安装客户端的用户名(root) |
|
|
|
password: 客户机root密码 |
|
|
|
port:客户机ssh连接端口 (通常是22) |
|
|
|
``` |
|
|
|
|
|
|
|
**该脚本会自动安装java环境、hadoop环境,并修改环境变量,安装过程中,需要确认安装(y)**。 |
|
|
|
|
|
|
|
**安装完成后,需要在UHost云主机上执行 source ~/.bashrc 命令让修改的环境生效** |
|
|
|
|
|
|
|
**同样我们可以在该UHost上执行HDFS基础操作** |
|
|
|
|
|
|
|
## `**************作业3:按照如下要求操作命令并截图,并插入实验报告中***************` |
|
|
|
|
|
|
|
`作业三要求:` |
|
|
|
|
|
|
|
> 在UHost云主机上删除作业二中创建的文件和文件夹并截图 |
|
|
|
|
|
|
|
### 四)MapReduce Job |
|
|
|
### 三)MapReduce Job |
|
|
|
|
|
|
|
> MapReduce是一种分布式计算框架 ,以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。MR有两个阶段组成:Map和Reduce,用户只需实现map()和reduce()两个函数,即可实现分布式计算。在/root/hadoop-2.6.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar 中有很多简单的MapReduce实例程序。我们可以通过在master节点执行命令 ` hadoop jar /root/hadoop-2.6.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.5.jar` 可以看到可以运行的实例程序。 |
|
|
|
|
|
|
@ -229,11 +184,11 @@ hadoop jar /root/hadoop-2.6.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2 |
|
|
|
hadoop fs -cat /output/part-r-00000 |
|
|
|
``` |
|
|
|
|
|
|
|
`**************作业4:统计/root/hadoop-2.6.0/etc/hadoop目录下所有文件的词频并截图,插入实验报告中***************` |
|
|
|
## `**************作业3:统计/root/hadoop-2.6.0/etc/hadoop目录下所有文件的词频并截图,插入实验报告中***************` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## `******特别注意,做完作业4 即可请删除UHadoop集群、EIP 和UHost主机等资源******` |
|
|
|
## `******特别注意,做完作业3 即可请删除UHadoop集群、EIP 和UHost主机等资源******` |
|
|
|
|
|
|
|
#### WordCount 实现原理 |
|
|
|
|
|
|
@ -241,7 +196,7 @@ hadoop jar /root/hadoop-2.6.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2 |
|
|
|
|
|
|
|
![image-20201015170801613](img/assignment3/image-20201015170801613.png) |
|
|
|
|
|
|
|
## `**************作业5:用任一语言实现单线程的WordCount,记录运行时间,然后给出运行时间截图,插入实验报告中***************` |
|
|
|
## `**************作业4:用任一语言实现单线程的WordCount,记录运行时间,然后给出运行时间截图,插入实验报告中***************` |
|
|
|
|
|
|
|
`作业要求` |
|
|
|
|
|
|
|