hadoop配置eclipse的开发环境

hadoop配置eclipse的开发环境

一.前言

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

二.安装eclipse

1.下载eclipse jee neon版

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

http://www.eclipse.org/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,创建完的快捷方式可以移动到桌面上。

image-20210930175249660

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.

    image-20210929113002122

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

image-20210929113157300

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

    image-20210930175319782

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

    image-20210930175342746

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

    image-20210930182259671

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

    image-20210930183321568

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

image-20210930183938660

image-20210930183955147

image-20210930184054681

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

    image-20210930184320701

image-20210930184507515

image-20210930184544550

  • 我们点击到如下目录进行导入包,/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。

    image-20210930184719703

    image-20210930184958111

image-20210930184942382

image-20210930185109732

三.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 , 然后配置输入的文件是哪个,输出的文件必须是那个目录没有的,也就是说是一个由我们自己定义的新目录,不然会报错。

image-20210930191107427

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

image-20210930191412286

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

image-20210930191529589

好的,eclipse配置完成。

四.结尾

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

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

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值