文档章节

【Hadoop] - windows开发环境搭建

ZeroneLove
 ZeroneLove
发布于 2019/02/24 22:49
字数 582
阅读 101
收藏 1

3 月,跳不动了?>>>

文章说明:因Linux平台再GUI页面通过IDE进行Hadoop开发,会导致Linux在GUI上极度消耗资源,对于一些配置不是很高的PC,可能会出现卡顿的情况,非常影响程序编写,本文就详细介绍如何在windows平台进行hadoop开发,希望对各位学习Hadoop的同学优异


工具:

  • hadoop eclipse插件:hadoop-eclipse-plugin-2.7.3.jar
  • hadoop windows平台支持组件:winutils.exe
  • hadoop 底层依赖库:hadoop.dll

上述工具下载地址:下载地址

Hadoop版本 : hadoop-2.7.3


配置步骤:

  1. 启动hadoop : start-yarn.sh、start-dfs.sh

  2. windows本地配置Linux的主机IP映射:(不配置直接使用IP也行)

  3. 将hadoop-eclipse-plugin-2.7.3.jar放进eclipse的plugins目录,启动eclipse

  4. eclipse配置Hadoop

  1. 切换MapReduce视图可以看到HDFS文件系统的信息


运行MapReduce程序

  1. 配置HADOOP环境变量:主要将bin、sbin放入PATH路径
  2. 将winutils.exe放在bin目录,hadoop.dll放在windows System32目录
  3. 测试代码

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.LongWritable;
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;

/**
 * 统计文本词频信息
 * @author Zerone1993
 */
public class WordCount {

	static class WordMapper extends Mapper<LongWritable, Text, Text, IntWritable>{
		@Override
		protected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, IntWritable>.Context context)
				throws IOException, InterruptedException {
			
			String str = value.toString();
			
			StringTokenizer st = new StringTokenizer(str);
			
			while(st.hasMoreTokens()){
				
				String temp = st.nextToken();
				
				context.write(new Text(temp), new IntWritable(1));
			}
		}
	}
	
	static class WordReducer extends Reducer<Text, IntWritable, Text, IntWritable>{
	       
		    @Override
	        protected void reduce(Text arg0, Iterable<IntWritable> arg1,
	        		Reducer<Text, IntWritable, Text, IntWritable>.Context arg2) throws IOException, InterruptedException {

	                 int sum = 0;
	                 
	                 for(IntWritable temp : arg1){
	                	 
	                	 sum = sum + temp.get();
	                 
	                 }
	                 
	                 arg2.write(new Text(arg0), new IntWritable(sum));
	         }
	}
	
	public static void main(String[] args) {
		
		Configuration conf = new Configuration();
		
		conf.set("mapred.job.tracker", "master:50020");
		
		try{
		
		Job job = Job.getInstance(conf, "wordCount");
		job.setJarByClass(WordCount.class); //设置启动作业类
		job.setMapperClass(WordMapper.class); //设置Map类
		job.setReducerClass(WordReducer.class);
		job.setMapOutputKeyClass(Text.class); //设置mapper输出的key类型
		job.setMapOutputValueClass(IntWritable.class); //设置mapper输出的value类型
		job.setNumReduceTasks(1); //设置Reduce Task的数量
		
		//设置mapreduce的输入和输出目录
		FileInputFormat.addInputPath(job, new Path("hdfs://master:9090/user/squirrel/input/mapreduce/"));
		FileOutputFormat.setOutputPath(job, new Path("hdfs://master:9090/user/squirrel/output/mapreduce/") );
		
		//等待mapreduce整个过程完成
		System.exit(job.waitForCompletion(true)?0:1);
		
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}

效果:

© 著作权归作者所有

ZeroneLove
粉丝 6
博文 164
码字总数 134185
作品 0
深圳
高级程序员
私信 提问
加载中

评论(0)

windows 安装 spark 及 PyCharm IDEA 调试 TopN 实例

首先声明本文搭建的环境为:windows8.1 + spark1.6.0 + python2.7 + jdk8,spark on windows 对 windows及python版本不怎么挑,但是对 spark 版本要求极其苛刻,比如 spark1.6.1 就无法运行。...

大数据之路
2012/06/28
1.3K
0
hadoop(02)、使用JAVA API对HDFS进行基本操作

本文源码码云地址:https://gitee.com/MaxBill/hadoop 在上篇《hadoop(01)、windows平台下hadoop环境搭建》中,实践了在windows平台下使用搭建hadoop开发环境,同时搭建完毕在基于命令行的形...

MaxBill
2017/11/16
1K
0
Windows下单机安装Spark开发环境

机器:windows 10 64位。 因Spark支持java、python等语言,所以尝试安装了两种语言环境下的spark开发环境。 1、Java下Spark开发环境搭建 1.1、jdk安装 安装oracle下的jdk,我安装的是jdk 1.7...

涩女郎
2016/09/20
66
0
hadoop window 搭建

hadoop 原理参考:用 Hadoop 进行分布式并行编程 官方中文文档:http://hadoop.apache.org/core/docs/r0.18.2/cn/index.html 1. 首先安装 cygwin ssh 参考 windows ssh 搭建 2. 搭建hadoop ...

walb呀
2017/12/07
0
0
windows eclipse 搭建spark开发环境

1、Java下Spark开发环境搭建 1.1、jdk安装 安装oracle下的jdk,我安装的是jdk 1.7,安装完新建系统环境变量JAVAHOME,变量值为“C:Program FilesJavajdk1.7.079”,视自己安装路劲而定。 同时...

张欢19933
2016/10/26
262
0

没有更多内容

加载失败,请刷新页面

加载更多

看你有多色游戏案例

看你有多色游戏案例 游戏规则 这款游戏的玩法就是找出所有风格中颜色比较淡的,随着游戏进行后面的方块会越来越多, 这个游戏主要是考验玩家的眼力和注意力, 游戏截图 部分代码 mian.html ...

板栗z丶
18分钟前
13
0
【SpringBoot MQ 系列】RabbitListener 消费基本使用姿势介绍

【MQ 系列】RabbitListener 消费基本使用姿势介绍 之前介绍了 rabbitmq 的消息发送姿势,既然有发送,当然就得有消费者,在 SpringBoot 环境下,消费可以说比较简单了,借助@RabbitListener...

小灰灰Blog
20分钟前
18
0
罗永浩回应做主播带货赚钱还债:主播赚的不是脏钱

  罗永浩的抖音带货生涯,将于 4 月 1 日晚 20 点开始。   虽然老罗对自己带货能力,信心满满,但也有粉丝对其表达了对他直播带货感到失望。   今日,罗永浩发布微博回应称, 不应该感...

水果黄瓜
21分钟前
12
0
Maven配置文件中 mirror和repository的区别及中央仓库配置大全

1、Maven配置文件中 mirror和repository的区别 1.1 repository repository就是个仓库,maven里有两种仓库,Local Repository(本地仓库)和Remote Repository(远程仓库)。 1.1.1 Remote Repos...

其乐m
32分钟前
28
0
Git 恢复本地误删的文件

 通过git进行代码管理的项目,如果在本地编辑的过程中误删了某些文件或者文件夹,可以通过git操作来复原。 Step 1: git status   查看本地对改动的暂存记录。如下图所示,本人误删了文件...

onedotdot
41分钟前
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部