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源码 ...
随机推荐
- Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was expecting ('true', 'false' or 'null')
Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was expecting ( ...
- 在Eclipse中创建Django项目
在以前的分享中,我们是在命令行模式下创建Django项目的,那么,如何在IDE中使用Django呢? 本文将介绍如何在Eclipse中创建Django项目. 首先,新建Django项目mysite,如 ...
- JavaScript:AOP实现
AOP的概念,使用过Spring的人应该都不陌生了.Dojo中,也是支持AOP的.对于JavaScript的其他框架.库不知道有没有AOP的支持.相信即便没有支持,也不会太远了.下面就介绍一下使用Ja ...
- Panel控件的使用
我们对控件进行分组的原因不外乎三个: 1.为了获得清晰的用户界面而将相关的窗体元素进行可视化分组. 2.编程分组,如对单选按钮进行分组. 3.为了在设计时将多个控件作为一个单元来移动. 在vb.net ...
- JavaScript及jQuery中的各种宽高属性图解
文/poetries(简书作者)原文链接:http://www.jianshu.com/p/60332df38393 著作权归作者所有,转载请联系作者获得授权, 并标注“简书作者”. 作者声明:本 ...
- a标签实现一键拨号、发短信、发邮件、发起QQ会话
a标签href的妙用: <a href="tel:400-888-6633">拨打电话<a> <a href="sms:19956321 ...
- Bilateral Filter
最近在看图像风格化的论文的时候,频繁遇到 Bilateral Filter.google 一波后,发现并不是什么不得了的东西,但它的思想却很有借鉴意义. 简介 Bilateral Filter,中文又 ...
- Java中静态代码块、构造代码块、构造函数、普通代码块
在Java中,静态代码块.构造代码块.构造函数.普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序. 1.静态代码块 ①.格式 在java类中(方法中不能存在静态代 ...
- ntopng 推送solr
1.修改代码在且不说 2.修改完之后先卸载原先的ntopng 使用 whereis ntopng 找到安装目录,然后删除 /usr/local/bin/ntopng /usr/local/share/ ...
- K:线性表的实现—链表
单链表的概念: 采用链式存储方式存储的线性表称之为链表,链表中每个节点包含存放数据元素的值的数据域和存放指向逻辑上相邻节点的指针域.若一个节点中只包含一个指针域,则称此链表为单链表. 单链表的特点: ...