在部署了hadoop的各個組件熟悉了控制臺命令行模式之后,下一步就是熟悉各組件的API了,這就涉及到在Windows環(huán)境下進行編程。
Windows下使用Eclipse進行開發(fā)
打開eclipse新建maven項目,添加依賴
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.5.0</version>
</dependency>
測試HDFS的API時遇到問題
ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
這個錯誤好像不影響后面代碼的運行,但是影響美觀。這里有兩個點:
- 1、路徑最前面是null,說明是HADOOP_HOME的問題,所以需要在Windows上安裝hadoop,然后配置環(huán)境變量,也可以手動在MapReduce程序里加上環(huán)境變量
System.setProperty("hadoop.home.dir", "...")。 - 2、winutils.exe這個文件默認是沒有的,需要去網(wǎng)上下載之后放在hadoop的bin目錄下