zoukankan      html  css  js  c++  java
  • Eclipse导入Hadoop源码项目及编写Hadoop程序

    Eclipse导入Hadoop源码项目

    基本步骤:

    1)在Eclipse新建一个java项目【hadoop-1.2.1】

    2)将Hadoop压缩包解压目录src下的core,hdfs,mapred,tools,example四个目录copy到上述新建项目的src目录下

    3)右击选择 Build Path,修改Java Build Path中【Source】,删除src,添加src/core,src/hdfs,src/mapred,src/tools几个源码目录;

    4)在项目中新建一个lib目录,添加项目依赖jar包,导入Hadoop解压缩目录的lib下所有jar包(去掉两个文档),不要漏掉其子目录jsp-2.1中的jar包,导入ant程序lib下所有jar包

    5)选择lib目录下的所有jar包,然后右击选择Build Path添加

    6)右击项目选择Build Project,重新编译一下工程,发现有错误

    7)导入ant包,把ant下的所有jar包导入lib目录下,右击项目选择Build Path-->Libraries-->Add JARs-->Hadoop-1.2.1-->lib就会显示为加进来的包,点击ok结束。

    8)在编译一下工程,发现还是有错,接着右击项目选择Build Path-->Libraries找到JRE System Library-->点击Access rules:No rules defined -->选择Edit

    Resolution框改为Accessible,Rule Pattern填**/*点ok

    至此完成。

    二、在Eclipse下编写Hadoop程序

    基本步骤:

    1)新建Hadoop工程,在工程中新建一个lib目录,copy Hadoop压缩包解压目录lib下的几个jar包,分别为:

    其中,Hadoop-core-1.2.1.jar就在Hadoop-1.2.1目录下,然后添加到Build Path路经下

    2)添加Hadoop的配置文件

    点击项目新建一个文件夹,命名为conf,在里面需要放两个配置文件,分别为core-site.xml和hdfs-site.xml

    3)添加单元测试包JUnit4

    选择项目右击选择Build Path-->Libraries-->Add Library-->JUnit -->JUnit4-->ok

    到此就可以在项目的src下建立包和测试类对hdfs进行增、删、改、查等操作

    例:查看hdfs下的某个文件类容并在控制台上显示,代码如下:

    package org.chaofn.hadoop.hdfs;
    
    import java.io.InputStream;
    import java.net.URL;
    
    import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
    import org.apache.hadoop.io.IOUtils;
    import org.junit.Test;
    
    public class HDFSUrlTest {
       //让java程序识别HDFS的URL
        static{
            URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
        }
        
        //查看文件内容
        @Test
        public void testRead() throws Exception{
            InputStream in=null;
            //文件路径
            String fileUrl="hdfs://linux.chaofn.org:9000/wc/input/core-site.xml";
            try{
                in=new URL(fileUrl).openStream();
            //将文件内容读出来打印到控制台
            IOUtils.copyBytes(in, System.out, 4096, false);
            }finally{
                IOUtils.closeStream(in);
            }
        }
        
    }
  • 相关阅读:
    对Cost (%CPU) 粗略的理解
    SQL AND & OR 运算符
    [Nagios] Error: Template 'timman' specified in contact definition could not be not found (c
    质因数分解
    细数人体器官仿生,还有哪些可开发的
    利用京东云擎架设免费Wordpress 博客(git方式)
    C++内存管理变革(6):通用型垃圾回收器
    二分查找法
    百度云存储教程---免费建立自己的静态网站
    paip.提升效率---filter map reduce 的java 函数式编程实现
  • 原文地址:https://www.cnblogs.com/chaofn/p/4567458.html
Copyright © 2011-2022 走看看