博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop_eclipse及HDT插件的使用
阅读量:4933 次
发布时间:2019-06-11

本文共 3828 字,大约阅读时间需要 12 分钟。

 

Hadoop Development Tools (HDT)是开发hadoop应用的eclipse插件http://hdt.incubator.apache.org/介绍了其特点,安装,使用等,针对Windows版的eclipse,介绍一种不同的安装方式、和使用方式。

 

1 下载HDT

打开:http://hdt.incubator.apache.org/download.html,部分页面:

下载HDT 0.0.2.incubating (Binary)版。点击“tar.gz”,跳转到:

http://www.apache.org/dyn/closer.cgi/incubator/hdt/hdt-0.0.2.incubating/hdt-0.0.2.incubating-bin.tar.gz,部分页面:

点击红框部分的连接,下载HDT,解压看到文件夹内容:

 

 

2 安装HDT插件

下载当前最新版(eclipse oxygen)

点击Download Packages。

下载64bit版本。文件为:eclipse-jee-oxygen-3a-win32-x86_64.zip,解压:

HDT的features和plugins中的文件,对应放到上面的文件夹内。

 

3 下载hadoop并配置环境变量

下载Hadoop

输入网址:http://hadoop.apache.org/,看到下面的部分。

点击Download进入下载页面:

下载2.6.5版本的binary,注意下载的时候选择一个国内的镜像,这样下载的速度会比较快。解压到指定目录,例如:E:\hadoop-2.6.5。文件夹包括:

配置环境变量

配置HADOOP_HOMEHADOOP_USER_NAME环境变量、PATH(系统变量

HADOOP_HOME配置为E:\hadoop-2.6.5,PATH添加%HADOOP_HOME%\bin

 

Windows下开发

为了能在Windows平台下做开发,还需要两个文件winutils.exe和hadoop.dll

winutils.exe放在E:\hadoop-2.6.0\bin目录下,将hadoop.dll放在C:\Windows\System32下

 

4 安装HDT

1)点击顺序:File->Other->展开Hadoop,入下面两幅图所示:

2)选择,如下图:

给项目取一个名称:MapReduce_4_27,并选择“Use default Hadoop”(默认的设置)。

 

3)配置Hadoop安装目录

点击2)步奏中的进行配置,其中配置的就是刚才hadoop解压文件的路径。

 

点击“Apply and Close”,显示如下界面:

 

点击,显示如下界面:

 

最后点击“Finish”。

 

4)导入开发包和javadoc文档

右键->项目属性->选择Property->在弹出的对话框左侧列表中选择Java Build Path->选择Libraries->选择Add Library->弹出窗口内选择User Library->点击Next->点击User Libraries->点击New->在弹出的窗口内输入必要信息->将必要的jar包添加进去。

所需的开发包在E:\hadoop-3.0.2\share\hadoop,这个文件夹是刚才解压hadoop安装包解压的文件夹。

导入doc文档

右键lib文件夹->点击Build Path->点击Config Build Path

点击Javadoc Location->点击Browse选择doc文档路径。

点击validate可以验证是否是正确的路径,下面分别展示了正确的路径和非正确的路径验证信息。

 

5 使用HDT(MapReduce编程)

 

设置JVM参数

 

创建好Map/Reduce Project后要设置JVM参数设置为:

-Djava.library.path=$HADOOP_HOME/lib/native

 

 

Mapper:创建Mapper类的子类

例,模板自动生成的map函数框架

import java.io.IOException;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;public class Tmap extends Mapper
{ public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { }}

Reducer:创建Reducer类的子类

例:模板自动生成的reduce函数框架

import java.io.IOException;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Reducer;public class Treduce extends Reducer
{ public void reduce(Text key, Iterable
values, Context context) throws IOException, InterruptedException { while (values.iterator().hasNext()) { // replace ValueType with the real type of your value // process value } }}

MapReduce Driver:创建驱动

例:模板自动生成的驱动框架

import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class TMR {    public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException {      Job job = new Job();          job.setJarByClass( ... );          job.setJobName( "a nice name"  );          FileInputFormat.setInputPaths(job, new Path(args[0]));      FileOutputFormat.setOutputPath(job, new Path(args[1]));          // TODO: specify a mapper    job.setMapperClass( ... );          // TODO: specify a reducer    job.setReducerClass( ... );          job.setOutputKeyClass(Text.class);      job.setOutputValueClass(IntWritable.class);          boolean success = job.waitForCompletion(true);      System.exit(success ? 0 : 1);        };}

New MR Cluster:集群配置

可以点击下图中的New MR Cluster配置集群

也可以点击eclipse的图标来配置集群:

配置页面如下:

Resource Manager Node:配置资源管理节点,对应Hadoop配置文件

DFS Master:配置分布式文件系统主节点,即NameNode节点的端口号。对应配置文件fs.default.name的值

 

 

转载与引用请注明出处。时间仓促,水平有限,如有不当之处,欢迎指正。

转载于:https://www.cnblogs.com/hdwgxz/p/9001438.html

你可能感兴趣的文章
线程同步复习
查看>>
Nginx http反向代理流程Proxy_pass模块
查看>>
HTML5 新元素标签系列:使用 HTML5 设计自己的博客
查看>>
51CTO大赛,欢迎投博主一票
查看>>
FlashCS5作成SWC,在Flex4中使用(1)
查看>>
《那些年啊,那些事——一个程序员的奋斗史》——91
查看>>
简单的学生管理系统
查看>>
vue-cli目录结构及说明
查看>>
JS 数据类型转换
查看>>
WeQuant交易策略—RSI
查看>>
osgearth将视点绑定到一个节点上
查看>>
PHP 当前时间秒数+数值,然后再转换成时间。
查看>>
TNS-12537,TNS-12560,TNS-00507 Linux Error: 29: Illegal seek解决
查看>>
IOS开发之Post 方式获取服务器数据
查看>>
Python使用selenium模拟点击(二)
查看>>
go语言生成一张正弦图
查看>>
OOP的几个原则-----LSP:Liskov替换原则(下)
查看>>
DevExpress更新至13.1.7
查看>>
菜谱查询接口文档
查看>>
PID204特种部队
查看>>