Eclipse集成hadoop插件开发环境

  1. 首先在win10下搭建好hadoop的环境,hadoop可以运行
  2. 解压hadoop2.7.7的安装包和源码包,解压后创建一个空的目录,把解压的源码包,安装包下share/hadoop下的除了kms的目录包外其他包下的所有jar包都拷贝到刚新建的空目录中。大概有120多个
  3. 把之前安装win10的hadoop/bin下的hadoop.dll 放到c:windows/system32下,重启电脑
  4. 检查之前安装的本地hadoop环境是否配置了hadoop的环境变量和hadoop的HADOOP_USER_NAME默认用root。把hadoop.dll文件放到C盘windows/system32下
  5. 在安装eclipse路径下plugins,dropins,把hadoop-eclipse-plugin-2.6.0.jar(可以对应下载自己版本的插件)放到该路径/eclipse/plugins/ 和/eclipse/dropins下,启动eclipse

安装成功

 6.在ecplise里面window->preferences里找到 Hadoop Map/Reduce 把本地安装的hadoop路径指定到这。

 

7.先确认hadoop集群是否启动,然后

 

在第二步的Map/Reduce Locations里新建(本地hosts文件要配置对应ip和hostname)

 

 

然后点完成,就能看到ecplise连接hadoop了

 

如果看不到点击localhadoop右键reconnection 重新连

  1. 导入包

  eclipse里面 windows-》preferences->Java ->bulid path-》user libraries

 

然后 ecplise 创建一个工程: File -> new -> project - >java -> java project

 

 

打jar包的时候不用把hadoopLib jar打进去只用打程序

点到工程,把JUnit4包引进去。然后创建一个conf文件夹在工程里,在conf目录下再创建一个HA目录

 

把hadoop集群中的core-site.xml 和 hdfs-site.xml 添加到HA目录中

点中HA文件夹

 

 

 

测试代码:

package com.test.hadoop.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 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 conf;

FileSystem fs;

 

@Before

public void conn() throws IOException {

conf = new Configuration(true);

fs = FileSystem.get(conf);

}

 

 

@After

public void close() throws IOException {

fs.close();

}

 

//创建目录

@Test

public void mkDir() throws IOException {

Path ifile = new Path("/ecpliseMkdir");

if(fs.exists(ifile)) {

fs.delete(ifile, true);

}

fs.mkdirs(ifile);

}

 

//上传文件

@Test

public void upload() throws IOException {

Path ifile = new Path("/ecpliseMkdir/hello.txt");

FSDataOutputStream output = fs.create(ifile);

InputStream input = new BufferedInputStream(new FileInputStream(new File("d:\\ywcj_chnl_risk_map_estimate_model.sql")));

IOUtils.copyBytes(input, output, conf, true);

}

 

//下载

@Test

public void downLocal() throws IOException {

Path ifile = new Path("/ecpliseMkdir/hello.txt");

FSDataInputStream open = fs.open(ifile);

File newFile = new File("d:\\test.txt");

if(!newFile.exists()) {

newFile.createNewFile();

}

BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(newFile));

IOUtils.copyBytes(open, output, conf, true);

 

}

 

//获取block 块信息

@Test

public void blockInfo() throws IOException {

Path ifile = new Path("/ecpliseMkdir/hello.txt");

FileStatus fsu = fs.getFileStatus(ifile);

BlockLocation[] fileBlockLocations = fs.getFileBlockLocations(ifile, 0, fsu.getLen());

for(BlockLocation b : fileBlockLocations) {

System.out.println(b);

}

}

 

//删除文件

@Test

public void deleteFile() throws IOException {

Path ifile = new Path("/ecpliseMkdir/hello.txt");

boolean delete = fs.delete(ifile, true);

        if(delete) {

         System.out.println("删除成功---------");

        }

}

 

 

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值