温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Eclipse集成hadoop插件开发环境

发布时间:2020-08-07 09:28:48 来源:网络 阅读:351 作者:马仔里德尔 栏目:大数据

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

 6.在ecplise里面window->preferences里找到 Hadoop Map/Reduce 把本地安装的hadoop路径指定到这。
 Eclipse集成hadoop插件开发环境
7.先确认hadoop集群是否启动,然后
Eclipse集成hadoop插件开发环境
在第二步的Map/Reduce Locations里新建
Eclipse集成hadoop插件开发环境
Eclipse集成hadoop插件开发环境
然后点完成,就能看到ecplise连接hadoop了
Eclipse集成hadoop插件开发环境
如果看不到点击localhadoop右键reconnection 重新连
8.导入包
eclipse里面 windows-》preferences->Java ->bulid path-》user libraries
Eclipse集成hadoop插件开发环境
然后 ecplise 创建一个工程: File -> new -> project - >java -> java project
Eclipse集成hadoop插件开发环境
Eclipse集成hadoop插件开发环境
打jar包的时候不用把hadoopLib jar打进去只用打程序
点到工程,把JUnit4包引进去。然后创建一个conf文件夹在工程里,在conf目录下再创建一个HA目录
Eclipse集成hadoop插件开发环境
把hadoop集群中的core-site.xml 和 hdfs-site.xml 添加到HA目录中
点中HA文件夹

Eclipse集成hadoop插件开发环境
Eclipse集成hadoop插件开发环境
Eclipse集成hadoop插件开发环境
测试代码:
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("删除成功---------"); } }

}

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI