一、实验目的
(1)掌握在 Linux 虚拟机中安装 Hadoop 和 Spark 的方法; (2)熟悉 HDFS 的基本使用方法; (3)掌握使用 Spark 访问本地文件和 HDFS 文件的方法。
二、实验平台
操作系统:centos6.4; Spark 版本:1.5.0; Hadoop 版本:2.7.3。
三、内容
实验一:
1.安装 Hadoop 和 Spark
进入 Linux 系统,参照本教程官网“实验指南”栏目的“Hadoop 的安装和使用”,完 成 Hadoop 伪分布式模式的安装。完成 Hadoop 的安装以后,再安装 Spark(Local 模式)。
该过程可以参考之前的博客。
实验二:
2.HDFS 常用操作
使用 hadoop 用户名登录进入 Linux 系统,启动 Hadoop,参照相关 Hadoop 书籍或网络 资料,或者也可以参考本教程官网的“实验指南”栏目的“HDFS 操作常用 Shell 命令”,使用 Hadoop 提供的 Shell 命令完成如下操作:
(1) 启动 Hadoop,在 HDFS 中创建用户目录“/user/hadoop”;
在启动玩hadoop之后,输入以下命令:
hadoop fs -mkdir /user/hadoop
(2) 在 Linux 系统的本地文件系统的“/home/hadoop”目录下新建一个文本文件 test.txt,并在该文件中随便输入一些内容,然后上传到 HDFS 的“/user/hadoop” 目录下;
gedit /home/hadoop/test.txt
hadoop fs -put /home/hadoop/test.txt /user/hadoop
(3) 把 HDFS 中“/user/hadoop”目录下的 test.txt 文件,下载到 Linux 系统的本地文 件系统中的“/home/hadoop/下载”目录下;
hadoop fs -get /user/hadoop/test.txt /home/hadoop/下载
(4) 将HDFS中“/user/hadoop”目录下的test.txt文件的内容输出到终端中进行显示;
hadoop fs -text /user/hadoop/test.txt
(5) 在 HDFS 中的“/user/hadoop”目录下,创建子目录 input,把 HDFS 中 “/user/hadoop”目录下的 test.txt 文件,复制到“/user/hadoop/input”目录下;
hadoop fs -mkdir /user/hadoop/input
hadoop fs -cp /user/hadoop/test.txt /user/hadoop/input
(6) 删除HDFS中“/user/hadoop”目录下的test.txt文件,删除HDFS中“/user/hadoop” 目录下的 input 子目录及其子目录下的所有内容。
hadoop fs -rm -r /user/haddop/input
图略,在input下面还有许多重要的文件,这个步骤截图省略
实验三:
3.Spark 读取文件系统的数据
首先启动spark-shell
(1)在 spark-shell 中读取 Linux 系统本地文件“/home/hadoop/test.txt”,然后统计出文 件的行数;
var file=sc.textFile("file:///home/hadoop/test.txt")
file.count()
(2)在 spark-shell 中读取 HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在, 请先创建),然后,统计出文件的行数;
(3)编写独立应用程序,读取 HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在, 请先创建),然后,统计出文件的行数;通过 sbt 工具将整个应用程序编译打包成 JAR 包, 并将生成的 JAR 包通过 spark-submit 提交到 Spark 中运行命令。