Windows下使用Eclipse配置Hadoop开发环境

配置Hadoop环境需要的文件资料

1、准备Hadoop的安装压缩包以及源码压缩包,解压得到hadoop-2.6.5 和 hadoop-2.6.5-src,然后创建 空白的一个文件夹,命名hadooplib(可以自己起名),如图:

image.png

2、在hadoop-2.6.5/share/hadoop文件夹下几个子目录中找到所有的jar包,并拷贝到hadooplib目录下

image.png

3、在tool文件中 找到bin目录,并将该文件夹的所有文件复制到hadoop-2.6.5/bin目录下,将源文件进行覆盖;

4、在hadoop-2.6.5/bin下找到hadoop.dll文件放到C盘的system32文件夹下;

image.png

5、创建环境变量

配置HADOOP_HOME;PATH;HADOOP_USER_NAME;

image.png

image.png

image.png

 

6、将Eclipse插件放到Eclipse安装目录的plugins文件夹下:

image.png

7、打开Eclipse添加MAP/Reduce模块,步骤如图:

image.png

添加完之后,界面的变化:

image.png

 

8、windows -->  Preferences  -- >  HADOPP  map/reduce,加载安装目录;

image.png

 

9、新建hadoop location

image.png

host 和 Port 如果不确定可以到URL页面查询(master:50070):

image.png

 

9、Eclipse页面变化

image.png

 

10、添加jar包

在Eclipse中,windows -->  preferences -->  Java  -->  user libraries  -->  new,创建新的libraries hadoop-2.6.5,然后点击Add External JARs,将hadooplib中的所有jar包添加进来。

image.png

 

11、创建一个就Java  project:0402

12、添加jar包:右击0402 --> Build Path  -->  Add libraries  -->  user library  -- > hadoop 2.6.5

image.png

 

13、添加单元测试类:右击0402 --> Build Path  -->  Add libraries  -->JUnit

image.png

 

14、我们默认搭建了HA,需要将配置文件core-site.xml 和 hdfs-site.xml 导入。右击0402 -->  floder  -->  conf/ha,右击conf -->  folder -->  ha,然后将core-site.xml 和 hdfs-site.xml拖入ha文件夹下,如图:

image.png

 

15、选择ha文件夹右击(一定是ha,不是conf)  -- >  Build Path -->  use as Source Floder,如图:

image.png

 

16、创建Java类,开始测试:分别为申请资源,关闭资源,创建目录,上文本地文件到HDFS,下载HDFS文件到本地。

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.BlockLocation;

import org.apache.hadoop.fs.FSDataInputStream;

import org.apache.hadoop.fs.FSDataOutputStream;

import org.apache.hadoop.fs.FileStatus;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IOUtils;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;


public class TestHDFS {

    // Configuration连接xml配置文件
    Configuration conf;

    // HDFS客户端
    FileSystem fs;

    // 客户端连接
    @Before
    public void conn() throws Exception{

// true为读取配置文件,false为不读取配置文件
    conf = new Configuration(true);
// 客户端对象
    fs = FileSystem.get(conf);
    }

    @After
    public void close() throws Exception{

// 关闭客户端
    fs.close();
    }

    // 创建目录
    @Test
    public void mkdir() throws Exception{
        Path ifile = new Path("/ajasonchan");
        // 判断目录是否存在
        if(fs.exists(ifile)){
            // 如果该目录已经存在,递归删除
            fs.delete(ifile, true);
        }
        // 创建目录
        fs.mkdirs(ifile);
    }

    //  上传文件
    @Test
    public void upload() throws Exception{

        Path f = new Path("/aaa/hello.txt");

        // 输出流
        FSDataOutputStream output = fs.create(f);

        // 输入流
        InputStream input = 
                new BufferedInputStream(new FileInputStream(new File("F:\\sxt\\a.txt")));
        // 流的对接
        // 按字节拷贝,也支持buffer  
        // true:写完之后,自动关闭流
        // conf:配置信息大小,带有buffer大小
        IOUtils.copyBytes(input, output, conf,true);
    }

    // 从HDFS下载文件
    @Test
    public void download() throws Exception{

        // 读取HDFS文件内容
        Path dir = new Path("/aaa/hello.txt");
        FSDataInputStream input = fs.open(dir);

        // 将HDFS文件内容写到本地文件
        OutputStream output = 
            new BufferedOutputStream(new FileOutputStream(new File("F:\\sxt\\c.txt")));
        IOUtils.copyBytes(input, output, conf, true);
    }
}

 

欢迎关注我的公众号:阿誠的数据杂货铺

qrcode_for_gh_1ca37fd83146_430.jpg

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值