一、實驗目的
(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 中運行命令。