文档章节

myeclipse hadoop 开发环境搭建

Joeson_
 Joeson_
发布于 2017/09/05 14:15
字数 1137
阅读 79
收藏 0

myeclipse hadoop 开发环境搭建

  •  本文档所有安装包全部为64位

1.下载 hadoop-eclipse-plugin-2.6.0.jar

链接: https://pan.baidu.com/s/1skRb5yX 密码: 9rgd

2.下载 hadoop-2.6.0.tar.gz

Hadoop 下载地址

下载地址:https://archive.apache.org/dist/hadoop/common/
下载完以后解压到e盘hadoop下

3.安装myeclipse hadoop插件

1.将hadoop-eclipse-plugin-2.6.0.jar 放到myeclipse的安装目下的dropins目录下,重启myeclipse。再次打开myeclipse 
在windows->preferences下可看见hadoop Map/Reduce界面,路径选择你WINDOWS下的hadoop解压后的路径。

4.配置环境变量

1.右键我的电脑 -->属性 --> 高级系统设置 --> 环境变量

2.新增hadoop环境变量 变量名 HADOOP_HOME 变量值:hadoop的解压目录

3.编辑 path

配置好环境变量以后需重启电脑(本人为win10系统需重启)。

4.显示Map/Reduce选项卡

1.点击 【open perspective 】-> 【Map/Reduce】->【OK】 将Map/Reduce 显示在工具栏中
2.Map/Reduce Locations视图 【Window】->【Show View】->【Map/Reduce Locations】->【OK】 或者
【Window】->【Show View】->【Other...】->【MapReduce Tools】->【Map/Reduce Locations】->【OK】

5.创建hadoop连接

在Map/Reduce Locations选项卡视图中右键单击 选择新建new hadoop location。

配置连接
根据我们之前的安装情况填入相关信息:
location name

我这里随便起一个名称叫 hy001 。

Map/Reduce Master 
这个框里
Host:就是 hy001 所在的集群机器 
port:默认 50070 这两个参数就是安装hadoop配置的mapred-site.xml里面mapred.job.tracker里面的ip和port 。 

DFS Master
Host:和Map/Reduce Master中的Host 相同
Port: 就是namenode的port
这两个参数就是core-site.xml里面fs.default.name里面的ip和port。

User name :这个是连接hadoop的用户名

配置完如图: 

如果我们已经要启动了windows系统中的sshd服务(一般都是开启的,没有开启的话自己查下资料开启一下),而且启动了linux中的hadoop集群。
这时,我们的DFS Location就已经能连接上了,也就是在项目图中看hadoop集群上的文件。如图:

6.创建MapReduce 项目

经过前面的准备我们开始创建mapreduce项目,在过程中需要选择Hadoop的安装路径。
如果是windows系统安装的hadoop则填写本地的安装路径,如果是linux系统中安装的hadoop则需要写linux中安装的绝对路径。
我们之前在安装篇已经知道 安装目录是 /home/joe/hadoop/hadoop-1.2.1。
创建项目步骤如下:
如果前面设置了本地hadoop安装运行目录则步骤为:
【File】->【New】->【Project...】->【Map/Reduce】->【Map/Reduce Project】->【Project name: WordCount】->【Next】->【Allow output folders for source folders】->【Finish】
否则为:
【File】->【New】->【Project...】->【Map/Reduce】->【Map/Reduce Project】->【Project name: WordCount】->【Configure Hadoop install directory...】->【Hadoop installation directory:d:/hadoop/hadoop-1.2.1】->【Apply】->【OK】->【Next】->【Allow output folders for source folders】->【Finish】

 

创建成功后出现了MyHadoop项目如下,已经自动引入了hadoop的一些包:  

7.新建计数MapReduce的类WordCount

【MyHadoop】->【src】->【右键New】->【Class】->【Package: org.apache.hadoop.examples】->【Name: WordCount】->【Finish】

这个时候这个类就空的,如果是我们正常的开发流程的话,这里就是我们写mapreduce的地方。 但是我们是为了实现hadoop的经典例子单词计数---WordCount。 那我们可以在Apache hadoop 官网中找到WordCount的源码直接粘贴上去。

Apache hadoop 官网 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;

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();
		Job job = Job.getInstance(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(args[0]));
		FileOutputFormat.setOutputPath(job, new Path(args[1]));
		System.exit(job.waitForCompletion(true) ? 0 : 1);
	}
}

将FileInputFormat.addInputPath FileOutputFormat.setOutputPath 修改成自己的hadoop集群路径如图:

 

运行

修改后可以运行了,对着wordCount类 右键,run as---》run on hadoop。

有可能会出现如下错误:

此错误是缺少对应的hadoop.dll,winutils.exe 等

下载地址: 链接: https://pan.baidu.com/s/1pL9eSFh 密码: rdma

1:将文件解压到hadoop的bin目录下
2:将hadoop.dll复制到C:\Window\System32下
3:重启myeclipse或者eclipse

再次运行OK如图: 

运行成功后在DFS Locations中出现了结果文件,我们可以直接左键双击查看 

到此myeclipse hadoop开发环境搭建成功。

© 著作权归作者所有

共有 人打赏支持
Joeson_
粉丝 6
博文 9
码字总数 8444
作品 0
大兴
程序员
hadoop与myeclipse连接插件所放位置

hadoop与myeclipse连接插件所放位置:D:softwaremyeclipseMyEclipse 10dropins 参考: 1、找到Hadoop Eclipse Plugin 插件 jar包 具体插件的位置如下: ..hadoop-0.21.0mapredcontribeclips...

闵开慧
2012/08/16
0
0
Myeclipse中搭建Android开发环境

这段时间正好有空,花了点时间学习了一下Android系统,还没有花很多时间好好深入学习,这里我仅仅记录在安装Android的开发环境时所遇到的问题,供需要的朋友参考! 1.安装JDK,安装完后,配置...

again-Y
2013/05/26
0
2
Myeclipse搭建android开发环境(本人Myeclipse9.0亲测可用)

其实主要参考的都是些网上找来的文档了,有的地方说Myeclipse不行,他们都是用eclipse装的,但本人亲测可行,myeclipse版本为9.0,觉得8.5应该也行,但没试过。 进入正题,首先是Myeclipse的...

OldPanda
2012/05/31
0
0
myeclipse和Hadoop插件配置

每个版本的 hadoop 都有相应版本的 MyEclipse 插件,官网并没有提供插件的jar包下载。在 hadoop/src/contrib 目录下有一个 eclipse-plugin 项目,此项目就是MyEclipse 的插件项目,需要自己手...

木偶
2015/03/30
0
0
Eclipse与MyEclipse的联系和区别

Eclipse与MyEclipse的介绍 Eclipse 是一个IDE(Integrated Developing Environment),而这个IDE是允许安装第三方开发的插件来使自身的功能得到扩展和增强的,而Myeclipse就是其中的一种有名...

xzs1913
2012/07/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring-boot | 日志

引言 好久不见,都还好吗? 大家都知道,我一般都是带来实用的东西,这次也一样,我们来试试项目开发中的日志处理。 理论知识 1、为什么要用日志?你是否因为项目出现问题,查找日志文件定位...

成都_小冯同学
10分钟前
0
0
dubbo下的补偿实现(一)

背景 由于前面几篇文章涉及的问题 分布式事务的思考 在我们微服务的场景下 各种本地事务都没有办法控制的很好。 A服务调用B服务 当B服务成功提交之后 A发生了异常 这种情况下要如何处理呢??...

Mr_Qi
19分钟前
2
0
HTML显示json字符串并且进行格式化

通过pre标签进行格式化展示,使用JSON.stringify()方法转换。 代码如下:   <html> <head> <title>HTML显示json字符串并且进行格式化</title> </head> <body> <p id="show_p">{ "name": "B......

writeademo
40分钟前
0
0
LNMP——php-fpm

php-fpm的pool •vim /usr/local/php/etc/php-fpm.conf //在[global]部分增加include并删除我们之前www池子 • include = etc/php-fpm.d/*.conf • mkdir /usr/local/php/etc/php-fpm.d/ • ......

chencheng-linux
43分钟前
0
0
TensorFlow layers slim 模块搭建cnn对mnist分类,比较bn效果

shape变化 (?, 784)(?, 28, 28, 1)(?, 14, 14, 8)(?, 7, 7, 8)(?, 1, 1, 8)(?, 8)(?, 10) 结果对比,基本上还是有点用的 0.91725457 0.9232 0.9548 0.95530.9177273 0.9234 0....

阿豪boy
46分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部