在部署了hadoop的各個(gè)組件熟悉了控制臺(tái)命令行模式之后,下一步就是熟悉各組件的API了,這就涉及到在Windows環(huán)境下進(jìn)行編程。
Windows下使用Eclipse進(jìn)行開(kāi)發(fā)
打開(kāi)eclipse新建maven項(xiàng)目,添加依賴
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.5.0</version>
</dependency>
測(cè)試HDFS的API時(shí)遇到問(wèn)題
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.
這個(gè)錯(cuò)誤好像不影響后面代碼的運(yùn)行,但是影響美觀。這里有兩個(gè)點(diǎn):
- 1、路徑最前面是null,說(shuō)明是HADOOP_HOME的問(wèn)題,所以需要在Windows上安裝hadoop,然后配置環(huán)境變量,也可以手動(dòng)在MapReduce程序里加上環(huán)境變量
System.setProperty("hadoop.home.dir", "...")。 - 2、winutils.exe這個(gè)文件默認(rèn)是沒(méi)有的,需要去網(wǎng)上下載之后放在hadoop的bin目錄下