第一次跑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跑第一个实例过程相关推荐

  1. linux运行wordcount,hadoop运行第一个实例wordcount

    引语: 这几周事情比较多,两周没写博客了,这周总算把hadoop的实例给运行起来,然后跑了一下官方的wordcount例子(用于统计文件中单词出现的次数). 接下来是我成功运行实例的记录.运行的前提是 ...

  2. [Linux][Hadoop] 将hadoop跑起来

    前面安装过程待补充,安装完成hadoop安装之后,开始执行相关命令,让hadoop跑起来 使用命令启动所有服务: hadoop@ubuntu:/usr/local/gz/hadoop-2.4.1$ . ...

  3. Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误

    25. 集群搭建 25.1 HADOOP集群搭建 25.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据 ...

  4. 从零学Java(3)之第一个实例HelloWorld

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  5. php 跑马灯抽奖,JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)_javascript技巧...

    最近做了个项目,其中有项目需求是要实现跑马灯抽奖效果,实现此功能主要用到js相关知识,废话不多说,感兴趣的朋友可以阅读下全文. 开始之前先来看上篇文章遗漏的两个问题和几个知识点,是自己重构的过程中需要 ...

  6. 代码重构——第一个实例

    0 引言 随着"互联网+"的普及,互联网行业得到了快速蓬勃发展,使得现实生活中人们对互联网产品的需求逐渐增加,促使互联网产品功能越来越复杂,项目逐渐失去有效的管理.为满足项目功能上 ...

  7. Highmaps网页图表教程之Highmaps第一个实例与图表构成

    Highmaps网页图表教程之Highmaps第一个实例与图表构成 Highmaps第一个实例 下面我们来实现本教程的第一个Highmaps实例. [实例1-1:hellomap]下面来制作一个中国地 ...

  8. (1)Hadoop 的第一个程序 WordCount 理解

    Hadoop 的第一个程序 WordCount 理解 map and Reduce 相关概念 Map 将数据拆分成一个个键值对, reduce 负责将一个个键值对进行归集, 最后统计出结果 machi ...

  9. 剖析Hadoop和Spark的Shuffle过程差异(一)

    一.前言 对于基于MapReduce编程范式的分布式计算来说,本质上而言,就是在计算数据的交.并.差.聚合.排序等过程.而分布式计算分而治之的思想,让每个节点只计算部分数据,也就是只处理一个分片,那么 ...

最新文章

  1. php中单引号和双引号的区别,哪个速度更快?为什么?
  2. OpenCv 009---色彩空间与色彩空间转换
  3. oc 查看属性默认关键词
  4. [:zh]<界面编程>任务二 用户注册界面设计[:]2018-01-24
  5. 转载——开阔自己的视野,勇敢的接触新知识
  6. 检测SDWebImage有没有缓存图片 IOS 获取网络图片大小
  7. SpringBoot之AOP详解
  8. slf4j-api-1.5.8.jar
  9. java加互斥锁关键字_Java中用于给对象加“互斥锁”标记的关键字是。( )
  10. 国防科技大学计算机非军籍研究生就业情况,国防科技大学无军籍,将来就业前景怎样?涨知识了...
  11. string 都不能作用于switch_这个东西看似细细的,作用大大滴!每个人的牙齿都不能没有它!...
  12. 使用axure的团队项目功能
  13. Machine Learning笔记(三) 多变量线性回归
  14. python字典数据类型笔记_python笔记--数据类型--字典
  15. 《Python 学习手册4th》 第十六章 函数基础
  16. 51CTO微职位一次通过PMP之经验浅谈
  17. iPadOS、iOS13降级iOS12.3.1方法
  18. 【数据分析】⚠️走进数据分析 2⚠️ 爬虫简介
  19. android 手机日志查看工具,日志查看器手机版下载
  20. html页面布局—定位

热门文章

  1. 服务器拉取openssl文件,使用openssl从服务器获取证书
  2. 修改sublime列编辑快捷键
  3. Cortex-M3内核的指令系统
  4. 图像识别python cnn_MINIST深度学习识别:python全连接神经网络和pytorch LeNet CNN网络训练实现及比较(一)...
  5. java怎么写算法_关于读写锁算法的Java实现及思考
  6. 职工信息管理软件c语言大一,职工信息管理(C语言
  7. java list类型参数_java – List是一个原始类型.引用通用类型List应该参数化
  8. android gridview显示本地图片大小,在Android上的GridView中调整图像大小
  9. c++ 命名空间 using namespace std 是什么意思?
  10. 求一个集合的所有子集 Python实现