在部署了hadoop的各个组件熟悉了控制台命令行模式之后,下一步就是熟悉各组件的API了,这就涉及到在Windows环境下进行编程。
Windows下使用Eclipse进行开发
打开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,然后配置环境变量,也可以手动在MapReduce程序里加上环境变量
System.setProperty("hadoop.home.dir", "...")。
- 2、winutils.exe这个文件默认是没有的,需要去网上下载之后放在hadoop的bin目录下