1. 建立新專案
首先,點擊放在特戰包中的 eclipse.bat,點選後將會開啟 Eclipse (如果出現安全性警告視窗,請點選執行),如下圖所示。
進入 Eclipse 後,點選 File,選擇 New,再選擇 Other...,開始建立一個新的專案。
點選 Other...後會出現新視窗,請選擇 Java Project,我們要建立一個新的 Java 專案。
專案名稱取名為 MyHadoop ,在 JRE 的部分,選擇 Use a project specific JRE,再點選 Finish,完成建立一個新的 Java 專案。
如果出現以下詢問視窗,請點選 Yes。
2. 撰寫一支 Java 程式
新專案建立完成後,當然要開始撰寫 Java 了,首先,對專案點選右鍵,選擇 New,再選擇 Class,開始建立 Java 程式。
新的 Class 名稱取名為 MyHello,在 Modifiers 的部分選擇 public,然後在下方勾選 public static void main(String[] args),再點選 Finish 即可完成建立。
建立完成後,在左右大括號中間開始撰寫,請輸入 System.out.println("Hello"); ,撰寫完畢後,點選上方類似撥放鍵的圖案,點選 Run As ,再選擇 2 Java Application,開始執行這支 Java 程式。
執行後可以在下方看到輸出結果,如下圖,畫面中出現 Hello,代表這支程式執行成功。
3. 引入 Hadoop 函式庫
因應開發需求,我們需要導入 Hadoop 的函式庫,詳細步驟如下。首先,對專案點選右鍵,選擇 Build Path,再選擇 Add Libraries...,準備開始引入函式庫 。
點選 Add Libraries...後出現新視窗,請選擇 User Library,再點選 Next > 前往下一步。
出現選擇函式庫的畫面後,請點選右邊的 User Libraries...,出現新視窗後,再點選右邊的 New...,開始定義新的函式庫,名稱請輸入 HADOOP-COMMON,輸入完成後請按下 OK。
定義好新的函式庫名稱後,請點選右邊的 Add External JARs...,開始引入外部的 jar 檔,請至以下路徑 hadoop-2.7.1\share\hadoop\common,並將畫面中所有的 jar 檔圈選起來,再點擊開啟舊檔,即可完成。
請重複以上步驟新增其他的 Hadoop 函式庫,所有的函式庫名稱與對應 jar 檔之路徑如下(注意,該目錄下只要是 jar 檔都請圈選起來),都新增好後,請點選 OK。
- HADOOP-COMMON-LIB hadoop-2.7.1\share\hadoop\common\lib
- HADOOP-COMMON hadoop-2.7.1\share\hadoop\common
- HADOOP-HDFS hadoop-2.7.1\share\hadoop\hdfs
- HADOOP-MAPREDUCE hadoop-2.7.1\share\hadoop\mapreduce
- HADOOP-YARN hadoop-2.7.1\share\hadoop\yarn
外部函式庫新增好後,請勾選全部的函式庫,再點選 Finish,即可完成引入外部的 Hadoop 函式庫。
成功引入後,左邊畫面會顯示剛剛加入的函式庫,如下圖所示。
4. 撰寫使用 Hadoop Library 的 Java 程式
首先,建立新的 Class,名稱取名為URLdir,詳細建立步驟請參閱第二點。建立好後,請輸入以下程式碼:
Configuration configuration = new Configuration();
FileSystem hdfs = FileSystem.get(new URI("hdfs://nna:8020"),configuration);
FileStatus[] fileStatus = hdfs.listStatus(new Path("hdfs://nna/user/dsa00"));
Path[] paths = FileUtil.stat2Paths(fileStatus);
System.out.println("***** Contents of Directory *****");
for (Path path : paths)
{
System.out.println(path);
}
輸入完成後,如下圖所示,會有許多錯誤,請移至紅色叉號圖案,檢查這些錯誤的原因。
在沒打錯字的情況下,大部分的錯誤都是缺少必要的 import,點擊錯誤訊息後, Eclipse 會建議我們可用的 import,如下圖的錯誤,請點選來自 Hadoop Library 的 import 'Configuration' org.apache.hadoop.conf.Configuration,點選後 Eclipse 就會自動加入 import 的程式碼。
錯誤檢查並消除完畢後,會如下圖所示,注意,部分的 import 並非來自 Hadoop Library,例如 URI,請選擇 import java.net.URI。
全部完成後,請執行此程式,該程式會顯示程式中輸入之路徑底下的所有東西,成功畫面如下,輸出即為 hdfs://nna/user/dsa00 底下的所有東西 (注意,如果特戰包未連接至虛擬機,或Hadoop 叢集未啟動,又或者虛擬機未開啟,程式將會輸出其他訊息,例如 Retrying connect to server 等等)。