1 打开 Eclipse,开始创建项目,选择顶部菜单 File->New->Java Project
,创建名为 HadoopTest 项目,如下图:
2 为项目加载所需要的 jar 包。
如何获取 jar 包: Java API 所在的 jar 包都在已经安装好的 hadoop 文件夹中,路径为:
<hadoop_home>/share/hadoop
下。本项目所需的 hadoop jar 包主要有hadoop-common-2.9.0.jar
和hadoop-hdfs-2.9.0.jar
。具体操作为:在所选的 Eclipse 项目上右键点击->在弹出菜单中选择
Properties->Java Build Path->Libraries->Add Externall JARS
。另外,为了避免报“ClassNotFound”异常,还需要向项目中加入 hadoop API 所依赖的第三方包,这些包在
<hadoop_home>/share/hadoop/common/lib/
文件夹下,将该lib文件整个复制到项目根目录下,并在 eclipse 中刷新项目,选中 lib 下的所有 jar 包,右键选择Build Path->Add to Build Path
3 编写一个简单的程序来测试伪分布文件系统 HDFS 上是否存在 test.txt 文件:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class Chapter3 {
public static void main(String[] args) {
try {
String filename="hdfs://localhost:9000/user/hadoop/test.txt";
Configuration conf=new Configuration();
FileSystem fs=FileSystem.get(conf);
if(fs.exists(new Path(filename))) {
System.out.println("文件存在");
}else {
System.out.println("文件不存在");
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
4 直接运行会报错
Wrong FS: hdfs://localhost:9000/user/hadoop/test.txt, expected: file:///
该错误的解决方法是将 <hadoop_home>/etc/hadoop/
文件夹下的 core-site.xml
文件和 hdfs-site.xml
文件复制拷贝到项目的 src/
目录下。
5 再运行还会报以下错误:
No FileSystem for scheme “hdfs”
需要添加 hadoop-hdfs-client-2.9.0.jar
包到Build Path下。
6 运行成功后结果如下:
参考资料
[1] Eclipse下导入外部jar包的3种方式:http://blog.csdn.net/mazhaojuan/article/details/21403717
[2] Wrong FS:http://blog.itpub.net/22846396/viewspace-1119945
[3] 大数据技术与应用 课件