博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hadoop1.0 Eclipse Plugin-作业提交
阅读量:6836 次
发布时间:2019-06-26

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

1.环境

     Jdk:1.6.0_10-rc2

     Hadoop:hadoop-1.0.0.tar.gz 

     Eclipse 版本:3.4.0

     Hadoop Eclipse 插件 :hadoop-eclipse-plugin-1.0.0.jar  

     操作系统:Windows7 32位 旗舰版

 2.Eclipse插件配置

    2.1   把"hadoop-eclipse-plugin-1.0.0.jar"放到Eclipse的目录的"plugins"中(eclipse/plugins),重新启动Eclipse生效

    2.2   选择Elipse Window菜单下的"Preference",配置"Hadoop Map/Reduce"选项,选择Hadoop的安装根目录

     

     2.3 配置Hadoop Location

         在配置Hadoop Location之前 确定hadoop 已启动起来

         Eclipse 切换到“Map/Reduce Locations” 视图 , 在"Map/Reduce Locations"视图右击 选择"New Hadoop Location",

        

         * Map/Reduce Master与mapred-site.xml配置文件对应

         * DFS Mast 与core-site.xml配置对应

       创建完成后 ,切换到JavaEE视图    刷新右边的DFS Locations 就会看到dfs文件结构 

     

        可以在节点上右键  创建 删除目录做测试

3.运行wordCount例子程序

  创建一个 Map/Reduce Project项目

 

  创建成功后  WordCount报名对应(源码在hadoop\src\examples\org\apache\hadoop\examples目录下)

 WordCount.java

package org.apache.hadoop.examples;import java.io.IOException;import java.net.URI;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.FileUtil;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import org.apache.hadoop.util.GenericOptionsParser;public class WordCount {  public static class TokenizerMapper        extends Mapper
{ private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(Object key, Text value, Context context ) throws IOException, InterruptedException { StringTokenizer itr = new StringTokenizer(value.toString()); while (itr.hasMoreTokens()) { word.set(itr.nextToken()); context.write(word, one); } } } public static class IntSumReducer extends Reducer
{ private IntWritable result = new IntWritable(); public void reduce(Text key, Iterable
values, Context context ) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); } result.set(sum); context.write(key, result); } } public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs(); if (otherArgs.length != 2) { System.err.println("Usage: wordcount
"); System.exit(2); } //删除输出目录 FileSystem fileSystem = FileSystem.get(URI.create(args[1]),conf); fileSystem.delete(new Path("/user/admin/output"), true); Job job = new Job(conf, "word count"); job.setJarByClass(WordCount.class); job.setMapperClass(TokenizerMapper.class); job.setCombinerClass(IntSumReducer.class); job.setReducerClass(IntSumReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.addInputPath(job, new Path(otherArgs[0])); FileOutputFormat.setOutputPath(job, new Path(otherArgs[1])); boolean flag = job.waitForCompletion(true); FSDataInputStream fDataInputStream = null; try { fDataInputStream = fileSystem.open(new Path("/user/admin/output/part-r-00000")); String line = null; while ((line = fDataInputStream.readLine()) != null) { System.out.println(line);; } } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeStream(fDataInputStream); IOUtils.closeStream(fileSystem); } System.exit( flag ? 0 : 1); }}

  运行例子

     1.点击WordCount.java,右键-->Run As-->Run Configurations

     2.在弹出的Run Configurations对话框中,点Java Application,右键-->New,这时会新建一个application名为WordCount
     3.配置参数,点Arguments,在Program arguments中配置
        /user/admin/input /user/admin/output
     4.运行时可能会抛出java.lang.OutOfMemoryError: Java heap space异常  配置VM arguments(在Program arguments下)
       -Xms512m -Xmx512m -XX:PermSize=96m

      

     5.右键-->Run on Hadoop        刷新右边的DFS Locations 就会看到结果

  

转载于:https://www.cnblogs.com/java-wl/archive/2012/05/24/2923158.html

你可能感兴趣的文章
ArcGIS制图之Subset工具点抽稀
查看>>
很好看的后台管理界面
查看>>
Maven 使用Eclipse构建Web项目
查看>>
用户密码加密存储十问十答,一文说透密码安全存储
查看>>
IL指令详细
查看>>
parted空闲空间添加分区
查看>>
Nginx 作为反向代理优化要点proxy_buffering
查看>>
折腾大半年,西部数据终于收购了东芝半导体业务
查看>>
http长连接和短连接
查看>>
送上最新鲜的互联网行业新闻-【2015-05-12】
查看>>
印花税下调,今天股市上涨概率很大
查看>>
如何描述一张数据表的基本信息?
查看>>
Linux系统下UDP发送和接收广播消息小例子
查看>>
Asp.net跨站脚本攻击XSS实例分享
查看>>
Linux系统下的单调时间函数
查看>>
美国人开发了一个有趣的网站,可以算出你被机器人抢饭碗的概率
查看>>
H.264中NAL、Slice与frame意思及相互关系
查看>>
《Linux From Scratch》第二部分:准备构建 第五章:构建临时文件系统- 5.25. Gzip-1.6...
查看>>
Spark-SparkSQL深入学习系列六(转自OopsOutOfMemory)
查看>>
在HTML下,如何为多个选择框提取数据并序列化
查看>>