windows下eclipse+hadoop2

windows下eclipse+hadoop2.4开发手册

1.解压下载的hadoop2.4,到任意盘符,例如D:\hadoop-2.4.0

2.设置环境变量

①新建系统变量,如下所示。

②将新建的HADOOP_HOME变量“%HADOOP_HOME%\bin;”加入到PATH变量里,如下图。

3.将hadoop服务器下的hadoop目录下etc/hadoop目录下的以下四个文件拷贝到自己开发的电脑相应目录下,如下图所示。

4.如果hadoop服务器中上述四个文件配置的是机器名,请在开发的电脑中改为ip地址,例如下图。

5.将hadoop目录下的所有jar包拷贝到自己的项目中,例如下图所示。

①将“D:\hadoop-2.4.0\share\hadoop”目录下及其子目录中所有jar以及子目录下的lib目录下的jar拷贝到自己的项目中。

②我一共拷贝了117个jar,如下图所示。

6.将hadoop服务器上的hadoop目录下的etc/hadoop目录下的以下两个文件拷贝到项目中的src目录下,同样将文件内容中的机器名改为ip

7.HDFS操作类

其中hdfspath例如:"hdfs://192.168.1.103:9000/input/";//要保证你的hdfs空间中有此路径   

import
java.io.FileNotFoundException;

import
java.io.FileOutputStream;

import
java.io.IOException;

import
java.io.InputStream;

import
java.io.OutputStream;

import
java.net.URI;

import java.util.ArrayList;

import
org.apache.hadoop.conf.Configuration;

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.apache.hadoop.util.Progressable;

public class
HDFSOperation {

private     Configuration
conf;

private FileSystem fs;

/**

* @Title: HDFSOperation

* @Description 初始化配置

* @author 
cpthack

* @see    
初始化配置

* @return 
对参数的说明

* @param  
对方法中某参数的说明

* @example 方法使用例子

* */

public HDFSOperation() throws
IOException{

conf = new Configuration();

fs = FileSystem.get(conf);

}

/**

* @Title: upLoad

* @Description 上传文件

* @author 
cpthack

* @see    
上传文件

* @return 
对参数的说明

* @param  
in:文件输入流;hdfsPath:保存在云端的文件路径

* @example 方法使用例子

* */

public boolean upLoad(InputStream in,
String hdfsPath){

Path p = new Path(hdfsPath);

try{

if(fs.exists(p)){

System.out.println("文件已经存在");

return
false;

}

//获得hadoop系统的连接

FileSystem fs =
FileSystem.get(URI.create(hdfsPath),conf);

//out对应的是Hadoop文件系统中的目录

OutputStream out = fs.create(new
Path(hdfsPath));

IOUtils.copyBytes(in, out, 4096,true);//4096是4k字节

in.close();

}catch(Exception e){

e.printStackTrace();

}

return true;

}

/**

* @Title: upLoad

* @Description 下载文件

* @author 
cpthack

* @see    
下载文件

* @return 
对参数的说明

* @param  
localPath:文件保存在本地的路径;hdfsPath:文件存在云端的路径

* @example 方法使用例子

* */

@SuppressWarnings("resource")

public boolean downLoad(String
hdfsPath,String localPath ){

Path path = new
Path(hdfsPath);

try {

if(!fs.exists(path)){

System.out.println("云端文件不存在");

return
false;

}

FileSystem hdfs =
FileSystem.get(conf);

Path dstPath = new
Path(localPath);

hdfs.copyToLocalFile(true,path,
dstPath);

} catch (Exception e) {

e.printStackTrace();

return false;

}

return true;

}

public boolean downFromCloud(String
hdfsPath,String srcFileName){

// 实例化一个文件系统

FileSystem fs;

try {

fs =
FileSystem.get(URI.create(hdfsPath), conf);

// 读出流

FSDataInputStream
HDFS_IN = fs.open(new Path(hdfsPath));

// 写入流

OutputStream
OutToLOCAL = new FileOutputStream(srcFileName);

// 将InputStrteam 中的内容通过IOUtils的copyBytes方法复制到OutToLOCAL中

IOUtils.copyBytes(HDFS_IN,
OutToLOCAL, 1024, true);

return true;

} catch (IOException
e) {

e.printStackTrace();

return
false;

}

}

/**

* @Title: deletePath

* @Description 删除文件

* @author 
cpthack

* @see    
删除文件

* @return 
对参数的说明

* @param  
hdfsPath:文件存在云端的路径

* @example 方法使用例子

* */

public boolean deletePath(String
hdfsPath){

try {

fs.delete(new
Path(hdfsPath), true);

} catch (IOException e) {

e.printStackTrace();

return false;

}

return true;

}

/**

* @Title: getFileList

* @Description 获取某个目录下所有文件

* @author 
cpthack

* @see   
 获取某个目录下所有文件

* @return 
对参数的说明

* @param  
hdfsPath:存在云端的文件夹

* @example 方法使用例子

* */

public ArrayList<FileBean>
getFileList(String hdfsPath){

Path path = new
Path(hdfsPath);

ArrayList<FileBean>
fileList = new ArrayList<FileBean>();

FileStatus[] status;

try {

status =
fs.listStatus(path);

for(FileStatus fs :
status){

fileList.add(new
FileBean(fs));

}

} catch (Exception e) {

e.printStackTrace();

}

return fileList;

}

//创建文件夹

public boolean  mkdir(String dir){

FileSystem fs;

try {

fs =
FileSystem.get(conf);

fs.mkdirs(new
Path(dir));

fs.close();

} catch (IOException e) {

e.printStackTrace();

return false;

}

return true;

}

/*删除文件夹*/

@SuppressWarnings("deprecation")

public boolean deleteDir(String dir){

FileSystem fs;

try {

fs =
FileSystem.get(conf);

fs.delete(new
Path(dir));

fs.close();

} catch (IOException e) {

e.printStackTrace();

return false;

}

return true;

}

}

来自为知笔记(Wiz)

windows下eclipse+hadoop2,布布扣,bubuko.com

时间: 2024-10-05 06:44:09

windows下eclipse+hadoop2的相关文章

Windows下Eclipse连接hadoop

? hadoop在虚拟机上(远程连接也是一样只需要知道master的ip和core-site.xml配置即可. Vmware上搭建了hadoop分布式平台: ? 192.168.11.134 master 192.168.11.135 slave1 192.168.11.136 slave2 ? core-site.xml 配置文件: <property> ????????<name>fs.defaultFS</name> ????????<value>hd

windows下eclipse调试hadoop详解

1)下载Eclipse http://www.eclipse.org/downloads/ Eclipse Standard 4.3.2 64位 2) 下载hadoop版本对应的eclipse插件 我的hadoop是1.0.4,因此下载hadoop-eclipse-plugin-1.0.4.jar 下载地址:http://download.csdn.net/detail/m_star_jy_sy/7376169 3)安装hadoop插件 将hadoop-eclipse-plugin-1.0.4.

[0010] windows 下 eclipse 开发 hdfs程序样例 (二)

目的: 学习windows 开发hadoop程序的配置 相关: [0007] windows 下 eclipse 开发 hdfs程序样例 环境: 基于以下环境配置好后. [0008] Windows 7 下 hadoop 2.6.4 eclipse 本地开发调试配置 1. 新建HDFS下载文件类 在已有mapreduce项目中新建类添加如下代码,代码从[0007]中取出小修改 功能:从hdfs下载文件到windows本地 package hadoop.hdfs; import java.io.F

详解 Windows 下 Eclipse CDT 配置 C/C++ 编译环境

其实 windows 下,C.C++ IDE 也不少,但许多IDE的 UI 和用户体验基本都停留在上个世纪,除了 eclipse CDT 和 visual studio,但后者现在是个巨无霸,安装文件都 3 个多G,而且这货安装容易删除难,但 eclipse CDT 就不一样了,熟悉 java eclipse 的同学能快速适应~ 1.Eclipse及CDT的安装 到Eclipse的官方网站http://www.eclipse.org上下载Eclipse. 离线安装CDT.CDT的全称是C/C++

Windows下Eclipse + MinGW + Glade + GTK+环境搭建

本文主要介绍Windows下GTK+开发环境的搭建,通过在Eclipse中安装插件Pkg-config support for Eclipse CDT使开发灵活简便: 第一步:安装MinGW,安装Glade(不做赘述):第二步:下载gtk+-bundle_3.6.4-20130921_win32.zip并解压到某个目录下(如:E:\GUI\gtk),并根据gtk目录下的×××.README.txt文件配置PATH:第三步:下载eclipse-java-indigo-SR2-win32.zip(i

[hadoop]Windows下eclipse导入hadoop源码,编译WordCount

hadoop版本为hadoop1.2.1 eclipse版本为eclipse-standard-kepler-SR2-win32-x86_64 WordCount.java为hadoop-1.2.1\src\examples\org\apache\hadoop\examples\WordCount.java 1 /** 2 * Licensed under the Apache License, Version 2.0 (the "License"); 3 * you may not

[0011] windows 下 eclipse 开发 hdfs程序样例 (三)

目的: 学习windows 开发hadoop程序的配置. [0007] windows 下 eclipse 开发 hdfs程序样例 太麻烦 [0010] windows 下 eclipse 开发 hdfs程序样例 (二) 输出日志变化,而且配置似乎很麻烦. 环境: windows 7 64下 eclipse 说明: 该实践是在[0008] Windows 7 下 hadoop 2.6.4 eclipse 本地开发调试配置 中设置后进行的, 在这里面进行了一些环境变量设置.插件安装. 如果按照以下

Android NDK:①开发环境的搭建(Windows下Eclipse无cygwin)

Android NDK:①开发环境的搭建(Windows下Eclipse无cygwin)                                   --转载请注明出处:coder-pig 一些概念性的东西: JNI:(Java Native Interface Java)本地开发的接口,通过他,Java调用外部的c/c++代码, 外部的c/c++代码可以调用Java代码! NDK:(Native Develop Kits)本地开发套件Google提供给我们的一个在Android上开发J

Hadoop开发环境搭建 windows下Eclipse

Hadoop开发环境搭建 windows下Eclipse 下载Eclipse www.eclipse.org 解压. 下载Hadoop的Eclipse Plugin 将插件包放到eclipse的plugins目录下.重启eclipse. 下载hadoop的安装包 将下载的hadoop安装包,解压到任一目录,最好是英文且无空格目录. 配置eclipse Hadoop instllation directory:设置为hadoop安装包解压的目录. Window->open persperctive