條件
採用64位Oracle Linux 6.4, JDK:1.8.0_131 64位, Hadoop:2.7.3
Spark集羣實驗環境共包含3臺服務器,每臺機器的主要參數如表所示:
服務器 | HOSTNAME | IP | 功能 |
---|---|---|---|
spark1 | spark1 | 92.16.17.1 | NN/DN/RM Master/Worker |
spark2 | spark2 | 92.16.17.2 | DN/NM/Worker |
spark3 | spark3 | 92.16.17.3 | DN/NM/Worker |
過程
首先搭建好 Hadoop 分佈式環境。在此之上,我們可以進行 MapReduce 相關的開發工作,本實驗使用兩種方式實現 MapReduce 中典型的 wordcount 作業
使用官方提供的包含測試程序的包 hadoop-mapreduce-examples-
2.7.jar,此包已上傳至/stage 目錄
wordcount 測試程序提供了對日誌文件中單詞的計數統功能,測試用數據文件 airport-codes-na.txt 是美國機場數據文件,該文件已上在 /stage 目錄下:
實現的該作業的第一步就是需要把airport-codes-na.txt數據文件上傳至HDFS 文件系統中,首先在HDFS中創建一個input目錄,然後將數據文件上傳至 input 目錄中:
運行wordcount測試程序:
WordCount程序的運行結果保存在HDFS文件系統的/output/part-r-00000中
統計結果比較多,下面僅截取部分片段: