Eclipse导入Hadoop源码项目及编写Hadoop程序
一
Eclipse导入Hadoop源码项目
基本步骤:
1)在Eclipse新建一个java项目【hadoop-1.2.1】
2)将Hadoop压缩包解压目录src下的core,hdfs,mapred,tools,example四个目录copy到上述新建项目的src目录下
3)右击选择 Build Path,修改Java Build Path中【Source】,删除src,添加src/core,src/hdfs,src/mapred,src/tools几个源码目录;
4)在项目中新建一个lib目录,添加项目依赖jar包,导入Hadoop解压缩目录的lib下所有jar包(去掉两个文档),不要漏掉其子目录jsp-2.1中的jar包,导入ant程序lib下所有jar包
5)选择lib目录下的所有jar包,然后右击选择Build Path添加
6)右击项目选择Build Project,重新编译一下工程,发现有错误
7)导入ant包,把ant下的所有jar包导入lib目录下,右击项目选择Build Path-->Libraries-->Add JARs-->Hadoop-1.2.1-->lib就会显示为加进来的包,点击ok结束。
8)在编译一下工程,发现还是有错,接着右击项目选择Build Path-->Libraries找到JRE System Library-->点击Access rules:No rules defined -->选择Edit
Resolution框改为Accessible,Rule Pattern填**/*点ok
至此完成。
二、在Eclipse下编写Hadoop程序
基本步骤:
1)新建Hadoop工程,在工程中新建一个lib目录,copy Hadoop压缩包解压目录lib下的几个jar包,分别为:

其中,Hadoop-core-1.2.1.jar就在Hadoop-1.2.1目录下,然后添加到Build Path路经下
2)添加Hadoop的配置文件
点击项目新建一个文件夹,命名为conf,在里面需要放两个配置文件,分别为core-site.xml和hdfs-site.xml
3)添加单元测试包JUnit4
选择项目右击选择Build Path-->Libraries-->Add Library-->JUnit -->JUnit4-->ok
到此就可以在项目的src下建立包和测试类对hdfs进行增、删、改、查等操作
例:查看hdfs下的某个文件类容并在控制台上显示,代码如下:
package org.chaofn.hadoop.hdfs; import java.io.InputStream;
import java.net.URL; import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
import org.junit.Test; public class HDFSUrlTest {
//让java程序识别HDFS的URL
static{
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
} //查看文件内容
@Test
public void testRead() throws Exception{
InputStream in=null;
//文件路径
String fileUrl="hdfs://linux.chaofn.org:9000/wc/input/core-site.xml";
try{
in=new URL(fileUrl).openStream();
//将文件内容读出来打印到控制台
IOUtils.copyBytes(in, System.out, 4096, false);
}finally{
IOUtils.closeStream(in);
}
} }
Eclipse导入Hadoop源码项目及编写Hadoop程序的更多相关文章
- Hadoop1.x目录结构及Eclipse导入Hadoop源码项目
这是解压hadoop后,hadoop-1.2.1目录 各目录结构及说明: Eclipse导入Hadoop源码项目: 注意:如果没有ant的包可以去网上下,不是hadoop里面的. 然后如果通过以上还报 ...
- eclipse导入Java源码
eclipse导入Java源码 下载源码包(一般jdk都自带了, 我的没有) src.zip eclipse -> window -> preferences -> JAVA -&g ...
- eclipse导入tomcat源码
我的开发环境:windows7 64位 一.官网下载tomcat源码.在此奉上一站地址:http://archive.apache.org/dist/tomcat/: 二.编译源码生成.jar文件: ...
- Eclipse导入Elasticsearch源码
Eclipse导入Elasticsearch源码的步骤, 基于Elasticsearch 6.2.2的源码版本. 1.安装JDK1.9 Elasticsearch 6.2.2需要JDK1.9编译,否则 ...
- Eclipse导入Zookeeper源码Version2017.11.3
将Zookeeper源码导入Eclipse, Zookeeper源码需要使用ant构建后才能导入Eclipse, 和Solr的源码一样也是使用ant构建的, 大部分可以参考Eclipse导入Solr源 ...
- 安装Hadoop系列 — 导入Hadoop源码项目
将Hadoop源码导入Eclipse有个最大好处就是通过 "ctrl + shift + r" 可以快速打开Hadoop源码文件. 第一步:在Eclipse新建一个Java项目,h ...
- spring源码学习(一):eclipse导入spring源码
前言 对于一门技术,我们最先是了解它(what),然后再熟练的使用它(how)以及何时用它(when),最后肯定要看透它(why).spring作为Java开发人员可以说是最熟悉不过的了,基本每个Ja ...
- Eclipse导入Solr源码Version5.5.3
将Solr的5.5.3版本源码导入Eclipse, Solr源码需要使用ant构建后才能导入Eclipse. 1.JDK安装 Solr要求jdk1.7+: 请参考Windows下安装配置jdk 2.A ...
- Eclipse导入Tomcat源码(转)
想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug). 这里参考了网上一些资料,将自己操作过程记个流水账. 准备: 1.Tomcat源码 ...
随机推荐
- 在Windows上运行Spark程序
一.下载Saprk程序 https://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.7.tgz 解压到d:\spark-2.1.1-bi ...
- ES6原生Promise的所有方法介绍(附一道应用场景题目)
JS的ES6已经出来很久了,作为前端工程师如果对此还不熟悉有点说不过去.不过如果要问,Promise原生的api一共有哪几个?好像真的可以难倒一票人,包括我自己也忽略了其中一个不常用的API Prom ...
- 33 款主宰 2017 iOS 开发的开源库
推荐一篇文章 改文章汇聚了现在主流的一些三方框架,很值得一看 https://mp.weixin.qq.com/s/ICodliohtzbmA-eLKRFT-Q
- Visual Studio 2017 : client version 1.22 is too old
使用Vs2017 编译 eShopOnContainers-ServicesAndWebApps 时,报了错误: Microsoft.DotNet.Docker.CommandLineClientEx ...
- Xamarin android spinner的使用方法
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- UVALive 3177 Beijing Guards
题目大意:给定一个环,每个人要得到Needi种物品,相邻的人之间不能得到相同的,问至少需要几种. 首先把n=1特判掉. 然后在n为偶数的时候,答案就是max(Needi+Needi+1)(包括(1,n ...
- centOS7 mini配置linux服务器(五) 安装和配置tomcat和mysql
配置java运行环境,少不了服务器这一块,而tomcat在服务器中占据了很大一部分份额,这里就简单记录下tomcat安装步骤. 下载 首先需要下载tomcat7的安装文件,地址如下: http://t ...
- Struts2-整理笔记(五)拦截器、拦截器配置
拦截器(Interceptor) 拦截器是Struts2最强大的特性之一,它是一种可以让用户在Action执行之前和Result执行之后进行一些功能处理的机制. 拦截器的优点 简化了Action的实现 ...
- RepeatMasker使用中的问题
RepeatMasker在运行时会先产生如下一个中间文件夹如RM_23346.WedAug301137422017,最后生成结果文件,例如.out,.masked,.tbl等 软件特性:软件运行很慢, ...
- css3毛玻璃模糊效果
CSS3 blur滤镜实现如下测试代码: .blur { -webkit-filter: blur(10px); /* Chrome, Opera */ -moz-filter: blur(10px) ...