Ubuntu系统下使用Eclipse搭建hadoop2.4执行环境

使用hadoop进行MapReduce编程的时候。我们都希望使用IDE进行开发。本文主要介绍怎样使用Eclipse进行hadoop编程。

假设你的集群还没搭好,能够參考我的前一篇文章Ubuntu下用hadoop2.4搭建集群(伪分布式)

一、安装Eclipse

方法一:直接在Ubuntu的软件中心进行下载,例如以下图所看到的。

方法二:先下载Eclispe压缩文件后,使用命令进行安装。下载地址:http://pan.baidu.com/s/1mgiHFok

      sudo tar -zxvf eclipse-dsl-juno-SR1-linux-gtk.tar.gz

这样Eclipse就安装好了。

二、安装 Hadoop-Eclipse-Plugin

下载 hadoop2x-eclipse-plugin ,将 release 中的 hadoop-eclipse-kepler-plugin-2.2.0.jar (尽管标注的是 2.2.0。但在 2.4.1 下是没问题的。应该在 2.x 版本号下都能够,只是有时候会提示有些东西过期,对于学习者来说。我个人认为临时能够不考虑这些细节)拷贝到 Eclipse 安装文件夹的 plugin 文件夹中。执行./eclipse -clean 重新启动 Eclipse 就可以。用法一的Eclipse 的默认安装文件夹为:/usr/lib/eclipse
:用法二的安装Eclipse的话文件夹依据自己而定了。我的文件夹是/usr/local/eclipse。

./eclipse -clean命令须要在Eclipse的安装文件夹下。打开后就可一看到文件系统了。

插件须要进一步的配置。

第一步:选择 Window 菜单下的 Preference ,然后弹出一个窗口,窗口的左側会多出 Hadoop Map/Reduce 选项,点击此选项,选择 Hadoop 的安装文件夹(如/usr/local/hadoop)。

第二步:切换 Map/Reduce 工作文件夹,选择 Window 菜单下选择 Open Perspective,弹出一个窗口,从中选择 Map/Reduce 选项就可以进行切换。

第三步 点击Map/Reduce Location选项卡,点击右边小象图标,打开Hadoop Location配置窗体:

输入Location Name。随意名称就可以.配置Map/Reduce Master和DFS Mastrer,Host和Port配置成与core-site.xml的设置一致就可以。

点击"Finish"button。关闭窗体。

点击左側的DFSLocations—>MapReduceProject(上一步配置的location name),如能看到user,表示成功安装

假设出现这个提示这个错误Error:call from mylinux/127.0.1.1 to localhost:9090 failed on connection exception java.Connection.net.ConnectException拒绝连接。

首先确定hadoop有没有启动。

我当时也是因为没有启动hadoop,然后折腾了好久才发现了这个问题,希望对大家有所帮助。

详细一些原因能够參考我的一篇博客在Ubuntu下使用Eclispe连接hadoop时拒绝链接解决方式总结

三、新建WordCount样例

File—>Project,选择Map/Reduce Project,输入项目名称WordCount等。

在WordCount项目里新建class,名称为WordCount,代码例如以下:

import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
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.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<Object, Text, Text, IntWritable>{
  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<Text,IntWritable,Text,IntWritable> {
  private IntWritable result = new IntWritable();
  public void reduce(Text key, Iterable<IntWritable> 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 <in> <out>");
    System.exit(2);
  }
  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]));
  System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}

1、在HDFS上创建文件夹input

    hadoop fs -mkdir input  

这是使用命令来创建。我们能够在Eclipse里面右键hadoop(依据个人配置不同这个会有出入)进行创建

2、拷贝本地README.txt到HDFS的input里

 hadoop fs -copyFromLocal /usr/local/hadoop/README.txt input

相同我们能够右键input,然后选择Upload file  ,使用可视化的形式进行文件上传。

3、点击WordCount.java,右键。点击Run As—>Run Configurations,配置执行參数,即输入和输出目录

当然我们也能够在代码里直接写路径,真正搞懂文件系统你会发现方法还有非常多,仅仅是须要改动java代码。

以下这个配置是相应了代码里面这个

 String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();。

 hdfs://localhost:9000/user/hadoop/input hdfs://localhost:9000/user/hadoop/output

4、执行完毕后。查看执行结果

第一种方法就是在终端里面直接使用命令行进行查看。

  hadoop fs -ls output

能够看到有两个输出结果。_SUCCESS和part-r-00000

运行

hadoop fs -cat output/*

另外一种方法就是直接在Eclipse里面查看。首先记得刷新一下文件系统~

展开DFS Locations。例如以下图所看到的。双击打开part-r00000查看结果

时间: 2024-10-13 01:12:24

Ubuntu系统下使用Eclipse搭建hadoop2.4执行环境的相关文章

Ubuntu系统下使用Eclipse搭建hadoop2.4运行环境

使用hadoop进行MapReduce编程的时候,我们都希望使用IDE进行开发,本文主要介绍如何使用Eclipse进行hadoop编程. 如果你的集群还没搭好,可以参考我的前一篇文章Ubuntu下用hadoop2.4搭建集群(伪分布式) 一.安装Eclipse 方法一:直接在Ubuntu的软件中心进行下载,如下图所示. 方法二:先下载Eclispe压缩文件后,使用命令进行安装,下载地址:http://pan.baidu.com/s/1mgiHFok sudo tar -zxvf eclipse-

Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法

在Ubuntu的某些版本下,比如10.10,会出现以下奇怪问题:1. 安装jdk我下载的jdk是bin格式的,直接运行解压,得到一个文件夹.这个文件夹作为jdk的安装目录,可以拷贝到任意目录.然后配置环境变量~/.bashrc,在最后添加:export JAVA_HOME=<jdk install dir>export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH重启机器.2. 安装eclipse直接

Ubuntu 12.04 使用Eclipse搭建C/C++编译环境

首先是安装Eclipse,方法有两种:       第一种是通过Ubuntu自带的程序安装功能安装Eclipse,应用程序->Ubtuntu软件中心,搜Eclipse安装即可.       第二种方法是用命令:应用程序->附件->终端                                       然后输入(中间可能需要你输入密码):                                       sudo apt-get install eclipse     

Ubuntu系统下在Eclipse中使用真实手机运行调试Android应用

本文是在Ubuntu下已搭建好JRE+Eclipse+AndroidSDK的环境中进行的. 如果从未进行过如下的操作的话,在运行Android应用时,在设备选择器那里你的手机会显示为一大串"?"组成的设备并且不可用. 这个事情Android官方文档是有讲到的,点我去看官方文档. 手机端的操作就是打开USB调试选项,然后用USB数据线连接至电脑. 电脑端,首先打开终端,然后输入以下内容并回车: sudo gedit /etc/udev/rules.d/51-android.rules 然

转:Ubuntu系统下出现eclipse找不到JRE的解决办法

在Ubuntu的某些版本下,比如10.10,会出现以下奇怪问题:1. 安装jdk我下载的jdk是bin格式的,直接运行解压,得到一个文件夹.这个文件夹作为jdk的安装目录,可以拷贝到任意目录.然后配置环境变量~/.bashrc,在最后添加:export JAVA_HOME=<jdk install dir>export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH重启机器. 2. 安装eclipse直

Ubuntu下安装C/C++开发环境【!!!有更新!!!Ubuntu14.10下使用eclipse搭建C语言开发环境】

(1)第一步安装Eclipse,有两种方法.使用软件市场搜索就可以得到,安装就可以 另外一种是使用终端安装.命令例如以下: sudo su进入root模式 输入password 然后 输入:sudo apt-get install eclipse 開始安装! 至此已经全然安装eclipse 上图一张 (2)再安装CDT插件,方法例如以下: 1.启动eclipse, 2.选择Help->Install New Software....在Work with的框框下复制以下的地址:  http://d

Ubuntu14.04LTS下使用eclipse搭建Cocos2d-x的Android环境

from://http://www.58player.com/blog-2534-94136.html 最近想玩玩游戏制作,于是选择了目前流行的游戏引擎Cocos2d-x,这个东西虽然有Android的版本,但是亲测有bug,而且版本更新特别慢,不成熟,所以还是选择Cocos2d-x吧,使用eclipse这么多年了,非常喜欢这个编译器,安土重迁,于是就打算继续使用eclipse作为开发工具,好,闲话不说,先讲一下Coco2d-x的环境搭建,由于用了最新版本Cocos2d-x-3.2Rc0,搭建工

最新Eclipse搭建C/C++开发环境

windows下基于Eclipse搭建c/c++开发环境 https://blog.csdn.net/hexf9632/article/details/91546922 最新Eclipse搭建C/C++开发环境: https://blog.csdn.net/sujun10/article/details/53208050 Windows下安装GDB https://blog.csdn.net/codebattle/article/details/38868313 https://blog.csd

虚拟机安装的三台Ubuntu系统下搭建Hadoop

在Linux 上安装Hadoop 教程 在虚拟机中安装的Ubuntu系统下搭建Hadoop集群时首先要解决的问题是将宿主机的文件拷贝到虚拟机上.采用的简单方法是宿主机使用Serv-U建立一个FTP然后在虚拟机上登录将文件拷出来. 要先熟悉Linux的基本概念和操作,如:cd.ls.tar.cat.ssh.scp.cp.rm.sudo.su.apt-get等操作. 一.实践环境: Ubuntu10.04+jdk1.6+hadoop-0.20.1 机器名 IP 作用 Master 192.168.1