文档章节

myeclipse hadoop 开发环境搭建

Joeson_
 Joeson_
发布于 2017/09/05 14:15
字数 1137
阅读 128
收藏 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
大兴
程序员
私信 提问
加载中

评论(0)

搭建Eclipse和MyEclipse的开发环境

主要步骤: 下载并配置Eclipse 建立并运行一个简单的javaSE项目 下载并破解MyEclipse 整合Eclipse和MyEclipse 开发环境和Tomcat结合 关于这个配置也可以参考:https://www.cnblogs.com/kangj...

乌云上
2018/08/01
0
0
myeclipse 2017破解安装教程+开发环境部署(jdk+tomcat)

点击安装包,进入安装界面,点击next 选择接受协议,点击next 选择安装目录,点击next 格局自己电脑的机型选择32bit或64bit,点击next 安装完成后不要运行MyEclipse,将 "launch MyEclipse 20...

osc_sgt6ik2a
2018/02/01
2
0
Windows下用myeclipse运行MapReduce程序

Windows下用myeclipse运行MapReduce程序 虚拟机中要有Hadoop环境 如果没有搭建可以参考我的博客Hadoop搭建 Windows和虚拟机的防火墙都要关闭 hadoop 在启动的时候报下面的错误: 这个可能就是...

Jin__nan
03/31
0
0
MyEclipse_10.7安装及破解

MyEclipse_10.7 0、解压文件如下两图操作: 1、运行安装程序,双击myeclipse-10.7-offline-installer-windows.exe进入安装界面,下一步: 2、同意协议许可下一步: 3、选择安装位置(不能有中...

osc_p394u1ne
2018/10/25
11
0
myeclipse和Hadoop插件配置

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

木偶
2015/03/30
341
0

没有更多内容

加载失败,请刷新页面

加载更多

文献速递20200524

一 文献题目:Characterizing the Causal Pathway for Genetic Variants Associated with Neurological Phenotypes Using Human Brain-Derived Proteome Data 不想看英文题目:使用人脑蛋白质......

osc_mbhfa1vl
18分钟前
9
0
【Java入门】JDK安装和环境变量配置(Win7版)

系统环境:Windows7 x64 安装JDK和JRE版本:1.8.0_191 1、下载JDK安装包 Oracle官网下载网址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 选择需要下载的JDK版本...

osc_s7aj86hu
19分钟前
11
0
Android Q 指纹解锁流程

Android Q 指纹解锁流程 // Authentation Finger Schedule: (close Screen, Authentation with finger(Success))        // PhoneWindowManager        mKeyguardDelegate.onStar......

osc_0qnrwmy3
21分钟前
12
0
List的扩容机制,你真的明白吗?

一:背景 1. 讲故事 在前一篇大内存排查中,我们看到了Dictionary正在做扩容操作,当时这个字典的count=251w,你把字典玩的66飞起,其实都是底层为你负重前行,比如其中的扩容机制,当你遇到...

osc_34b9n45c
22分钟前
14
0
2020.04.12软件更新公告

原创软件区升级ComicsViewer、DjVuToy、Pdg2Pic、PdgRenamer、PdgThumbViewer

osc_6tgtqi6v
23分钟前
23
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部