Intellij idea下hadoop的开发环境搭建和相应的编程实践(HDFS)

开篇

先简单描述一下这边博客主要要讲的内容,首先是配置idea可以编写hadoop的程序,然后是一个操作hdfs的小程序演示。

Hadoop的搭建

一直跟随的是厦门大学林老师的课程,这边是hadoop的搭建教程的链接,我是用自己的机子搭建的单机伪分布式。所以下面的一些操作都是适用于单机伪分布式的。

idea开发环境的搭建

这边需要我们做的是两件事,导入jar包,林老师的教程就让我导入了两个common下面的jar,我写完代码,半天执行不出结果,这边讲一下idea下面怎么导入jar包。
如下图所示:
Intellij idea下hadoop的开发环境搭建和相应的编程实践(HDFS)_第1张图片

Intellij idea下hadoop的开发环境搭建和相应的编程实践(HDFS)_第2张图片

建议大家导入的jar包有下面几个
(1)”/usr/local/hadoop/share/hadoop/common”目录下的hadoop-common-2.7.1.jar和haoop-nfs-2.7.1.jar;
(2)/usr/local/hadoop/share/hadoop/common/lib”目录下的所有JAR包;
(3)“/usr/local/hadoop/share/hadoop/hdfs”目录下的haoop-hdfs-2.7.1.jar和haoop-hdfs-nfs-2.7.1.jar;
(4)“/usr/local/hadoop/share/hadoop/hdfs/lib”目录下的所有JAR包。
比如,如果要把“/usr/local/hadoop/share/hadoop/common”目录下的hadoop-common-2.7.1.jar和haoop-nfs-2.7.1.jar添加到当前的Java工程中。

这边大家是可以把整个文件夹导入的。

我们的第一个hadoop程序

导入jar包之后,基本是可以正常写我们程序了。

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();
            }
        }
}

当然在写代码之前,你需要将hadoop的文件系统启动起来。不过到这里还是会报错的。原因是你少了core-site.xml和hdfs-site.xml,它会报如下的错误。

我们需要把集群上的core-site.xml和hdfs-site.xml(这两文件存在/hadoop/etc/hadoop目录
下)放到当前工程项目下,在eclipse下面就项目下面的bin目录,idea的话我们放到src目录下,放到其他目录下都没有用的。

Intellij idea下hadoop的开发环境搭建和相应的编程实践(HDFS)_第3张图片

到这里我们基本就能正常运行这个程序了。

你可能感兴趣的:(大数据,云计算)