Windows 在eclipse上搭建Hadoop开发环境

继上篇博客在Ubuntu下搭建Hadoop集群后,此篇总结在windows下的eclipse上搭建Hadoop开发环境(此篇会用到上篇博客已经搭建好的Hadoop集群)。

参考:

Hadoop学习之路(八)在eclispe上搭建Hadoop开发环境

hadoop2.7.3 Windows eclipse开发环境搭建及WordCount实例运行

 

一、在windows上安装Hadoop2.7.7

1、下载Hadoop安装包并解压

因为我在Ubuntu下安装的Hadoop版本是2.7.7,因此在windows我也安装Hadoop2.7.7版本(最好相对应)。

下载完后将压缩包解压到合适的位置,我解压后的位置是 D:\CodeTool\hadoop-2.7.7

(因为压缩包后缀名是.tar.gz,我用的winRAR解压的,解压完成后好像说有几个文件权限不够之类的,不用管)

2、配置环境变量

新添加HADOOP_HOME变量

然后在PATH中添加%HADOOP_HOME%\bin

接着修改D:\CodeTool\hadoop-2.7.7\etc\hadoop里的hadoop-env.cmd文件

在命令行中查看Hadoop安装是否成功

3、添加Windows支持文件

因为安装的Hadoop编译的版本是Linux的版本,在Windows上运行需要添加文件

hadoop.dll和winutile.exe下载,提取码 yle6

很简单,把hadoop.dll和winutile.exe放到hadoop的bin文件夹里就行了

 

二、在eclipse中添加Hadoop插件

将hadoop-eclipse-plugin-2.7.7.jar放入eclipse的plugins文件夹中。注意插件的版本和Hadoop版本尽量对应。

hadoop-eclipse-plugin-2.7.7.jar下载

重启eclipse

 

三、eclipse中的配置

1、在eclipse中,打开windows->Preferences的Hadoop Map/Reduce中设置安装目录,如图

2、打开Map/Reduce Perspective,在这个Perspective下面进行hadoop程序开发

在此视图下,左边的项目就会多出一个DFS Locations

3、点击下图中的那个小象(有个+号),新建Hadoop连接

4、连接完成后,左侧就会显示Hadoop的HDFS存储的东西


这里的/test/aa/bb/a.txt是我之前就存进去了的。如果你的之前没有存东西,此处的目录可能为空。

 

四、创建HDFS项目,用java代码实现文件上传

1、创建一个java project,然后在这个project中新建一个名字为lib的文件夹,将D:\CodeTool\hadoop-2.7.7\share\hadoop\common\lib 目录下的所有.jar文件和hadoop-common-2.7.7.jar、hadoop-nfs-2.7.7.jar复制到lib文件夹里面去

还有这个D:\CodeTool\hadoop-2.7.7\share\hadoop\hdfs目录下的hadoop-hdfs-2.7.7.jar包,也一起复制到lib文件夹里

然后将这些jar包全部选中,添加到Build Path

2、新建TestHdfsDemo类,

代码如下:

package com.study.hdfs;

import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class TestHdfsDemo {

    public static void main(String[] args) throws Exception {
        Configuration conf = new Configuration(); 
        conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
        FileSystem fs = FileSystem.get(new URI("hdfs://192.168.43.202:9000"),conf,"hadoop");
        //192.168.43.202为Hadoop集群的master的IP地址
        //System.out.println(fs instanceof DistributedFileSystem);//true
        
        fs.copyFromLocalFile(new Path("F:/abc.txt"), new Path("/test/aa/"));
        fs.close();
        
        System.out.println("Finish.");
    }

}

运行代码之前:

运行代码后,refresh一下,截图如下:

文件上传成功。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值