900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > hadoop配置eclipse的开发环境

hadoop配置eclipse的开发环境

时间:2022-01-25 19:52:16

相关推荐

hadoop配置eclipse的开发环境

hadoop配置eclipse的开发环境

一.前言

由于大三学习需要,而且网上的教程都有点模糊,导致我走了不少弯路,因此我写下这篇博客,本文仅供参考,如果有不足之处,还望指出。

二.安装eclipse

1.下载eclipse jee neon版

这里附上下载链接,当然你也可以前往官网自行下载:

/downloads/download.php?file=/technology/epp/downloads/release/neon/1a/eclipse-jee-neon-1a-linux-gtk-x86_64.tar.gz

2.解压并安装eclipse

命令行解压命令,我这里选择的是解压到home目录下面:

tar -zxvf eclipse-jee-neon-1a-linux-gtk-x86_64.tar.gz -C /home

解压完成后可以根据需要在桌面创造快捷方式。方法如下:

我这里的eclipse文件在home目录下,所以打开home目录下的eclipse文件夹,选中eclipse,make link,创建完的快捷方式可以移动到桌面上。

3.下载与eclipse的jar包

下载的jar包要求Linux系统一致、hadoop版本一致、需与eclipse匹配,这里我安装的eclipse是2.6.0版本的,下载完后把jar包移动到eclipse的plugins目录下,我们直接用命令行操作:

cp hadoop-eclipse-plugin-2.6.0.jar /home/eclipse/plugins

现在可以打开eclipse了,我打开eclipse,弹出一个启动的选项,我们直接点击ok.

在eclipse图形界面中点击左上角菜单上Windows 工具栏—>选择show view—>others,如图:

(1)点击Window ----->Perspective----->open Perspective 选择Map/Reduce

完成以上操作后我们可以得到以下界面:我们点击右下角的大象,new hadoop location.

接下来的步骤就比较重要了,我在这踩了一点坑,归根结底还是有些教程写的比较模糊,并没有说明以下的配置的意思,我在这里大概的整理了下,location name:填写一个名字,我这里填写exam1 host:主节点的IP地址, 左边的port 默认 , 右边的port 填写core-site.xml文件里面的hdfs端口号,我这里设置的8020

创建完成后我们看到以下界面,折叠的部分依次点开就可以了:

然后创建项目,map/reduce项目

我们可以看到这里相应的包也导入了进来,但是我们还有一些hdfs的包还没导入进来,我们接着导入hdfs操作的包,操作如下:

我们点击到如下目录进行导入包,/home/hadoop/hadoop/share/hadoop/common,导入第一个包;/home/hadoop/hadoop/share/hadoop/common/lib导入所有包 ; /home/hadoop/hadoop/share/hadoop/hdfs的一个包,如图中所示。/home/hadoop/hadoop/share/hadoop/hdfs/lib的所有包。导入完所有的包后记得apply。

三.eclipse的操作与实验

1.读单词

配置操作中的输入输出,达到测试的目录

1)下面,我给你这样一段代码:注意,我这里的包是hdfs,类名是HdfsDemo,这段代码的功能如下:对单词计数,最后显示出来。

package hdfs;import java.io.IOException;import java.util.*;import org.apache.hadoop.fs.Path;import org.apache.hadoop.conf.*;import org.apache.hadoop.io.*;import org.apache.hadoop.mapred.*;import org.apache.hadoop.util.*;public class HdfsDemo {public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> {private final static IntWritable one = new IntWritable(1);private Text word = new Text();public void map(LongWritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter)throws IOException {String line = value.toString();StringTokenizer tokenizer = new StringTokenizer(line);while (tokenizer.hasMoreTokens()) {word.set(tokenizer.nextToken());output.collect(word, one);}}}public static class Reduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> {public void reduce(Text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output,Reporter reporter) throws IOException {int sum = 0;while (values.hasNext()) {sum += values.next().get();}output.collect(key, new IntWritable(sum));}}public static void main(String[] args) throws Exception {JobConf conf = new JobConf(HdfsDemo.class);conf.setJobName("wordcount");conf.setOutputKeyClass(Text.class);conf.setOutputValueClass(IntWritable.class);conf.setMapperClass(Map.class);conf.setReducerClass(Reduce.class);conf.setInputFormat(TextInputFormat.class);conf.setOutputFormat(TextOutputFormat.class);FileInputFormat.setInputPaths(conf, new Path(args[0]));FileOutputFormat.setOutputPath(conf, new Path(args[1]));JobClient.runJob(conf);}}

2)我们可以在运行的时候选择run configurations , 然后配置输入的文件是哪个,输出的文件必须是那个目录没有的,也就是说是一个由我们自己定义的新目录,不然会报错。

3)这里我的text1.txt文件位与hdfs文件系统的根目录,内容如下:

4)运行后刷新整个exam,我们可以看到根目录出现了一个output目录,里面有两个文件,点击part开头文件,我们可以看到:

好的,eclipse配置完成。

四.结尾

以上就是我们的eclipse的配置过程,如果有不明白的地方,都可以在评论区留言。

接下来的一篇博客将介绍hdfs的java Api 操作,以及我会以我的实验作业作为例子进行总结。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。