hadoop跑第一个实例过程
第一次跑hadoop实例,中间经过了不少弯路,特此记录下来:
第一步:建立一个maven过程,pom.xml文件:(打包为jar包)
<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.7.0</version> </dependency>
第二步:创建一个WordCount(从官网上copy):
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 TokenizerMapperextends 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 IntSumReducerextends 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);} }
第三步:打jar包:
mvn clean install
第四步:将jar包放入hadoop集群中的master机器上。
第五步:设置hdfs文件输入目录
在hadoop-2.6.0/etc/hadoop目录下core-site配置:
<configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000/</value></property><property><name>hadoop.tmp.dir</name><value>file:/home/localadmin/filedata</value></property> </configuration>
上面可以看到hdfs的根目录,或者使用命令查看:
bin/hadoop fs -ls /
设置输入目录
在/home/localadmin创建filedata/infile目录,并创建文件file01,file02
bin/hadoop fs -put /home/localadmin/filedata/infile/bin/hadoop fs -put /home/localadmin/filedata/infile/file01bin/hadoop fs -put /home/localadmin/filedata/infile/file02
检查文件情况命令:
# bin/hadoop fs -ls /home/localadmin/filedata/input
Found 2 items
-rw-r--r-- 3 root supergroup 22 2015-12-25 13:56 /home/localadmin/filedata/input/file01
-rw-r--r-- 3 root supergroup 28 2015-12-25 13:56 /home/localadmin/filedata/input/file02
注意:不要设置输出目录:
hadoop 由于进行的是耗费资源的计算,生产的结果默认是不能被覆盖的,
因此中间结果输出目录一定不能存在,否则出现这个错误。
第六步:执行命令:
hadoop jar wc.jar com.nonobank.hadoop.WordCount ../filedata/input/ ../filedata/output/
参考文献:
【1】http://blog.sina.com.cn/s/blog_757dbe670101gnj9.html
【2】https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html#Example:_WordCount_v1.0
【3】http://blog.itpub.net/26230597/viewspace-1370205/
转载于:https://www.cnblogs.com/davidwang456/p/5076103.html
hadoop跑第一个实例过程相关推荐
- linux运行wordcount,hadoop运行第一个实例wordcount
引语: 这几周事情比较多,两周没写博客了,这周总算把hadoop的实例给运行起来,然后跑了一下官方的wordcount例子(用于统计文件中单词出现的次数). 接下来是我成功运行实例的记录.运行的前提是 ...
- [Linux][Hadoop] 将hadoop跑起来
前面安装过程待补充,安装完成hadoop安装之后,开始执行相关命令,让hadoop跑起来 使用命令启动所有服务: hadoop@ubuntu:/usr/local/gz/hadoop-2.4.1$ . ...
- Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误
25. 集群搭建 25.1 HADOOP集群搭建 25.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据 ...
- 从零学Java(3)之第一个实例HelloWorld
作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...
- php 跑马灯抽奖,JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)_javascript技巧...
最近做了个项目,其中有项目需求是要实现跑马灯抽奖效果,实现此功能主要用到js相关知识,废话不多说,感兴趣的朋友可以阅读下全文. 开始之前先来看上篇文章遗漏的两个问题和几个知识点,是自己重构的过程中需要 ...
- 代码重构——第一个实例
0 引言 随着"互联网+"的普及,互联网行业得到了快速蓬勃发展,使得现实生活中人们对互联网产品的需求逐渐增加,促使互联网产品功能越来越复杂,项目逐渐失去有效的管理.为满足项目功能上 ...
- Highmaps网页图表教程之Highmaps第一个实例与图表构成
Highmaps网页图表教程之Highmaps第一个实例与图表构成 Highmaps第一个实例 下面我们来实现本教程的第一个Highmaps实例. [实例1-1:hellomap]下面来制作一个中国地 ...
- (1)Hadoop 的第一个程序 WordCount 理解
Hadoop 的第一个程序 WordCount 理解 map and Reduce 相关概念 Map 将数据拆分成一个个键值对, reduce 负责将一个个键值对进行归集, 最后统计出结果 machi ...
- 剖析Hadoop和Spark的Shuffle过程差异(一)
一.前言 对于基于MapReduce编程范式的分布式计算来说,本质上而言,就是在计算数据的交.并.差.聚合.排序等过程.而分布式计算分而治之的思想,让每个节点只计算部分数据,也就是只处理一个分片,那么 ...
最新文章
- php中单引号和双引号的区别,哪个速度更快?为什么?
- OpenCv 009---色彩空间与色彩空间转换
- oc 查看属性默认关键词
- [:zh]<界面编程>任务二 用户注册界面设计[:]2018-01-24
- 转载——开阔自己的视野,勇敢的接触新知识
- 检测SDWebImage有没有缓存图片 IOS 获取网络图片大小
- SpringBoot之AOP详解
- slf4j-api-1.5.8.jar
- java加互斥锁关键字_Java中用于给对象加“互斥锁”标记的关键字是。( )
- 国防科技大学计算机非军籍研究生就业情况,国防科技大学无军籍,将来就业前景怎样?涨知识了...
- string 都不能作用于switch_这个东西看似细细的,作用大大滴!每个人的牙齿都不能没有它!...
- 使用axure的团队项目功能
- Machine Learning笔记(三) 多变量线性回归
- python字典数据类型笔记_python笔记--数据类型--字典
- 《Python 学习手册4th》 第十六章 函数基础
- 51CTO微职位一次通过PMP之经验浅谈
- iPadOS、iOS13降级iOS12.3.1方法
- 【数据分析】⚠️走进数据分析 2⚠️ 爬虫简介
- android 手机日志查看工具,日志查看器手机版下载
- html页面布局—定位
热门文章
- 服务器拉取openssl文件,使用openssl从服务器获取证书
- 修改sublime列编辑快捷键
- Cortex-M3内核的指令系统
- 图像识别python cnn_MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(一)...
- java怎么写算法_关于读写锁算法的Java实现及思考
- 职工信息管理软件c语言大一,职工信息管理(C语言
- java list类型参数_java – List是一个原始类型.引用通用类型List应该参数化
- android gridview显示本地图片大小,在Android上的GridView中调整图像大小
- c++ 命名空间 using namespace std 是什么意思?
- 求一个集合的所有子集 Python实现