`

hadoop 初学者在eclipse中开发的问题

 
阅读更多

 那最简单的IO说吧 在本地文件系统和HDFS文件系统中的IO操作

 下面这个例子是合并本地文件系统的目录下的文件 到HDFS文件系统

 public static void main(String[] args) throws IOException, URISyntaxException {
         //Hadoop resource configuration class
         Configuration conf=new Configuration();
         //get FileSystem's instance
         //call factory method FileSystem.get(Configuration conf)
         FileSystem hdfs=FileSystem.get(new URI("hdfs://127.0.0.1:9000"),conf);
         //local FileSystem's instance
         FileSystem local =FileSystem.getLocal(conf);
         //Path Object encode file and direcotory
         Path  inputDir=new Path("/home/hadoop/Documents"); //(args[0]);
         Path  hdfsFile=new Path("/mytest_example2.txt");
         //use the FileSystem's listStatus()method() to get  a list of files in a directory
         FileStatus[]  inputFiles=local.listStatus(inputDir);
         
         //create FSDataOutputStream
         FSDataOutputStream out=hdfs.create(hdfsFile);
         //loop local files and merge a new file 
         for(int i=0;i<inputFiles.length;i++)
         {
             //user the Path to request an FSDataInputStream object for reading in the file
             System.err.println(inputFiles[i].getPath().getName()+"-----------------");
             FSDataInputStream  in =local.open(inputFiles[i].getPath());
             byte [] buffer=new byte[256];
             int bytesRead=0;
             while ((bytesRead=in.read(buffer))>0)
             {
                  out.write(buffer, 0, bytesRead);                      
             }
             in.close();
         }
         out.close();    
    }

以上的代码是可行的没有什么错误。但是如果是一下这样,就会报错前提呢在你的项目的classpath下也就是bin目录下没有hadoop的HDFS配置文件(core-site.xml和hdfs-site.xml)

FileSystem hdfs=FileSystem.get(/*new URI("hdfs://127.0.0.1:9000"),*/conf);

Path  hdfsFile=new Path("hdfs://127.0.0.1:9000/mytest_example2.txt");

 

 

错误提示:

log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://127.0.0.1:9000/, expected: file:///
    at org.apache.hadoop.fs.FileSystem.checkPath(FileSystem.java:646)
    at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(RawLocalFileSystem.java:82)
    at org.apache.hadoop.fs.RawLocalFileSystem.mkdirsWithOptionalPermission(RawLocalFileSystem.java:513)
    at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:499)
    at org.apache.hadoop.fs.ChecksumFileSystem.mkdirs(ChecksumFileSystem.java:594)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:448)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:435)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:909)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:890)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:787)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:776)
    at com.liweichao.PutMerge.main(PutMerge.java:40)
  

 

   解决途径一个是在初始化Filesystem的时候

 1Configuration conf=new Configuration();
         //get FileSystem's instance
         //call factory method FileSystem.get(Configuration conf)

         //就会自动加载到hadoop的资源配置文件
         FileSystem hdfs=FileSystem.get(new URI("hdfs://127.0.0.1:9000"),conf);

         在有Path对象定位的具体目录

         Path  hdfsFile=new Path("/mytest_example2.txt");

2:在你的项目的classpath下也就是bin目录下没有hadoop的HDFS配置文件(core-site.xml和hdfs-site.xml)

分享到:
评论

相关推荐

    hadoop2x集成eclipse插件压缩包

    标题 "hadoop2x集成eclipse插件压缩包" 提供了我们今天要讨论的核心内容:如何在Eclipse集成...无论你是初学者还是经验丰富的Hadoop开发者,都应该考虑将这样的工具纳入你的开发工具箱,以提升你的工作效率和项目质量。

    Hadoop-Eclipse开发环境配置经验

    - 开发环境配置较为复杂,初学者可能会遇到各种配置错误问题。 四、对于不同编程语言的支持 本文档主要针对使用Java语言开发MapReduce程序的配置指南。如果使用Python语言进行开发,由于Python是解释型语言,可以...

    eclipse hadoop2 插件

    它将Hadoop相关的开发工具集成了到Eclipse中,使开发者无需离开IDE即可进行Hadoop开发。 4. **主要功能**: - **项目创建**:插件允许用户创建Hadoop MapReduce或YARN项目,提供了模板来快速启动新项目。 - **...

    hadoop-2.8.3-eclipse-plugin插件包

    1. **项目创建**:用户可以直接在Eclipse中创建Hadoop MapReduce项目,无需手动配置复杂的环境。 2. **代码编辑**:插件提供自动代码补全和语法检查,帮助开发者编写正确的Hadoop代码。 3. **编译和构建**:插件能够...

    hadoop-eclipse-plugin-2.6.0.jar.zip_2.6.0_hadoop_hadoop plugin

    《Hadoop Eclipse Plugin 2.6.0:高效开发与测试工具》 Hadoop作为大数据处理的核心框架,为开发者提供了强大的...对于Hadoop初学者和专业开发者来说,熟练掌握并运用这款插件,无疑是提升开发体验和工作效率的关键。

    hadoop各版本的eclipse插件

    总结,Hadoop各版本的Eclipse插件是Hadoop开发的重要辅助工具,它简化了在Eclipse中的MapReduce开发流程,提高了开发效率。根据具体的Hadoop版本选择合适的插件,并正确安装和配置,是成功开发Hadoop应用的关键步骤...

    hadoop-0.20.2-eclipse-plugin 插件

    Hadoop-0.20.2-Eclipse-Plugin是一个经典的插件,专为Eclipse集成开发环境(IDE)设计,旨在提升Hadoop开发者的工作效率。...对于初学者和经验丰富的Hadoop开发者来说,这种集成开发环境的增强都是一个巨大的福音。

    安装hadoop使用Eclipse的插件

    为了在Eclipse中方便地开发、调试和运行Hadoop项目,我们需要一个合适的插件,这就是"Hadoop Eclipse plugin"。 Hadoop Eclipse plugin 2.5.2是专门为Eclipse设计的,用于支持Hadoop开发。这个插件提供了在Eclipse...

    hadoop-eclipse-plugin-1.1.2

    【Hadoop Eclipse Plugin 1.1.2:开启Hadoop在Eclipse中的开发之旅】 Hadoop Eclipse Plugin 1.1.2 是一个专门为Eclipse IDE设计的插件,旨在简化Hadoop应用程序的开发过程。这个插件使得Java开发者能够在熟悉的...

    hadoop-eclipse-plugin-2.6.5.jar插件下载

    Hadoop Eclipse Plugin是Eclipse IDE的一个扩展,它允许开发者在Eclipse中直接创建、编辑、部署和管理Hadoop作业。这个插件的2.6.5版本针对Hadoop 2.x系列进行了优化,确保了与Hadoop集群的无缝集成。通过该插件,...

    hadoop-eclipse-plugin-2.7.2.rar

    Hadoop Eclipse Plugin是Apache Hadoop项目的一个重要组成部分,主要用于在Eclipse集成开发环境中方便地创建、管理和调试Hadoop ...如果你是Hadoop初学者或者希望提升开发效率,掌握这个插件的使用将对你大有裨益。

    hadoop-eclipse-plugin-2.2.0.zip

    为了方便开发者在Eclipse中直接操作和管理Hadoop集群,Apache Hadoop社区开发了Hadoop Eclipse Plugin。本文将深入探讨这个名为“hadoop-eclipse-plugin-2.2.0”的插件,以及它如何为Hadoop-2.2.0版本提供支持。 ...

    linux-32-eclipse-kepler-hadoop-1.1.2-eclipse-plugin.rar

    5. **安装与配置**:使用这个压缩包,开发者需要首先在32位Linux环境下安装Eclipse Kepler,然后将提供的插件导入到Eclipse中,按照指定步骤进行配置,以实现Hadoop开发环境的搭建。 6. **应用场景**:此组合常用于...

    eclipse hadoop 例子源代码

    "Eclipse Hadoop 例子源代码"是一个学习和理解Hadoop在Eclipse中开发过程的宝贵资源。这个压缩包可能包含了一个或多个具体的Hadoop MapReduce项目示例,其中"MyWordCount"是其中一个关键的样例程序。 【描述】:...

    好用的hadoop-eclipse-plugin-2.6.4.jar

    在开发过程中,Hadoop-Eclipse-Plugin提供了一些实用的功能,如JobTracker视图,可以实时监控MapReduce任务的执行状态,包括任务进度、任务日志等信息,帮助开发者快速定位和解决问题。另外,它还支持直接在Eclipse...

    hadoop-eclipse-plugin-2.7.3

    使用Hadoop Eclipse Plugin 2.7.3后,开发者可以直观地在Eclipse中看到Hadoop集群的拓扑结构,包括各个节点的状态,从而能够快速定位问题。此外,插件还支持直接在Eclipse中创建HDFS目录,上传和下载文件,以及提交...

    基于eclipse的hadoop应用开发

    通过上述步骤,我们不仅完成了在Eclipse环境下配置Hadoop开发环境的任务,还成功实现了WordCount程序的开发与运行,这对于初学者来说是非常好的实践案例。未来可以在此基础上尝试更复杂的大数据处理任务,进一步探索...

    eclipse-hadoop2.7.1.zip

    标题中的“eclipse-hadoop2.7.1.zip”是一个包含Eclipse插件和Hadoop相关组件的压缩包,主要用于帮助Java开发人员...对于学习和实践Hadoop的初学者以及在Windows环境下工作的开发团队来说,这是一个非常有价值的资源。

    hadoop eclipse插件

    Hadoop Eclipse插件是开发Hadoop MapReduce程序的重要工具,它允许开发者在本地Eclipse集成开发环境中直接编写、测试和调试Hadoop作业,极大地提高了开发效率。以下是对这个插件的详细说明: 首先,安装Hadoop ...

    hadoop-0.21.0-eclipse-plugin

    这份文档通常会涵盖从安装、配置到实际开发的全过程,对于初学者来说是宝贵的参考资料。 7. **版本兼容性** 尽管这个插件针对的是Hadoop 0.21.0版本,但需要注意的是,随着Hadoop版本的升级,某些新特性和API可能...

Global site tag (gtag.js) - Google Analytics