Windows 在eclipse上搭建Hadoop开发环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Waves___/article/details/84557851

继上篇博客在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下载

很简单,把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一下,截图如下:

文件上传成功。

猜你喜欢

转载自blog.csdn.net/Waves___/article/details/84557851