`

hadoop wordcount练习

阅读更多

今天下载安装、运行了下hadoop,跟着doc走,但有时也会出现一些问题,所以在这里记录一下:

 

1. 下载hadoop

    我这里下载的是hadoop-0.21.0,之前在公司使用的是0.18,现在新版本的hadoop已经升级到了1.0.0,对API做了新的处理,下载地址:https://www.apache.org/dyn/closer.cgi/hadoop/core/

 

2. 解压、配置环境变量

    tar -zxvf hadoop-0.21.0.tar.gz

    ln -s hadoop-0.21.0 hadoop

    cd hadoop

    cd conf

修改hadoop-env.sh

配置JAVA_HOME

配置core-site.xml

<configuration>
	<property>
		<name>fs.default.name</name>
		<value>hdfs://localhost:9000/</value>
	</property>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
</configuration>
 

mapred-site.xml

<configuration>
	<property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
    </property>
</configuration>

 

3. 格式化

    ./bin/hadoop namenode -format

    启动hadoop

    ./bin/hadoop start-all.sh

    验证启动是否成功

    jps

 

4.  hadoop分为单机模式、伪分布式模式、集群模式,这里 采用伪分布式模式,例子可参考hadoop快速入门文档:http://hadoop.apache.org/common/docs/r0.19.2/cn/quickstart.html

 

以下便是对wordcount的操作记录:

1> 编译WordCount.java

    javac -classpath $classpath -d wordcount_classes WordCount.java

2>打jar包

    jar -cvf wordcount.jar -C wordcount_classes

    ./bin/hadoop fs -put wordcount.jar .

 

3>增加file01 file02到input

    ./bin/hadoop fs -mkdir input

    ./bin/hadoop fs -put file01 input

    ./bin/hadoop fs -put file02 input

   查看input目录文件

    ./bin/hadoop fs -ls input

4>执行wordcount统计

    ./bin/hadoop jar wordcount.jar WordCount input output

5>查看统计结果

    ./bin/hadoop fs -cat /user/gavin/output/part-00000

Bye    1
Goodbye    1
Hadoop    2
Hello    2
World    2

 

期间遇到的问题是output目录已存在:

gavin@ubuntu:~/programs/hadoop$ ./bin/hadoop jar wordcount.jar WordCount input output
11/12/24 23:01:18 INFO security.Groups: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping; cacheTimeout=300000
11/12/24 23:01:18 WARN conf.Configuration: mapred.task.id is deprecated. Instead, use mapreduce.task.attempt.id
11/12/24 23:01:19 WARN mapreduce.JobSubmitter: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
11/12/24 23:01:19 INFO mapreduce.JobSubmitter: Cleaning up the staging area hdfs://localhost:9000/tmp/hadoop-gavin/mapred/staging/gavin/.staging/job_201112242122_0007
Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://localhost:9000/user/gavin/output already exists
	at org.apache.hadoop.mapred.FileOutputFormat.checkOutputSpecs(FileOutputFormat.java:125)
	at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:375)
	at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:334)
	at org.apache.hadoop.mapreduce.Job.submit(Job.java:960)
	at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:534)
	at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:779)
	at WordCount.main(WordCount.java:53)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:192)

 这是只要删除output目录即可

 

    ./bin/hadoop fs -rmr output

再重新执行jar命令就可以看到输出结果

 

参考:

Hadoop Map/Reduce教程
http://hadoop.apache.org/common/docs/r0.19.2/cn/mapred_tutorial.html#%E7%9B%AE%E7%9A%84
hadoop 快速入门
http://hadoop.apache.org/common/docs/r0.19.2/cn/quickstart.html

hadoop 命令手册
http://hadoop.apache.org/common/docs/r0.19.2/cn/commands_manual.html
Hadoop Shell命令
http://hadoop.apache.org/common/docs/r0.19.2/cn/hdfs_shell.html
Hadoop分布式文件系统:架构和设计
http://hadoop.apache.org/common/docs/r0.19.2/cn/hdfs_design.html

hadoop下载
https://www.apache.org/dyn/closer.cgi/hadoop/core/

分享到:
评论
1 楼 di1984HIT 2014-05-19  
不错,不错

相关推荐

    hadoop wordcount 打包部署

    ### Hadoop WordCount项目打包与部署详解 #### 一、Hadoop WordCount简介 Hadoop WordCount 是一个经典的示例程序,用于演示如何利用...这不仅是一个基础的数据处理练习,也是深入了解Hadoop生态系统的重要一步。

    hadoop市实战练习

    本文介绍了hadoop实战项目的背景,技术选型,开发详细讲解

    手动搭建hadoop高可用

    [root@namenode hadoop-2.7.3]# bin/hdfs dfs -put hadoopfile.input /user/mapreduce/wordcount/input/ ``` - **下载文件**:将文件从HDFS下载到本地。 ```bash [root@namenode hadoop-2.7.3]# bin/hdfs dfs -...

    hadoop-demo

    至于文件名"hadoopSecond",这可能是一个目录或文件,表示这是第二个Hadoop相关的练习或者项目,可能是在前一个示例的基础上进行了更深入的学习和实践,例如,可能涉及更复杂的数据处理逻辑,或者引入了Hadoop生态...

    Linux下Hadoop伪分布式配置及操作命令

    Linux下Hadoop伪分布式配置及操作命令详细知识点: ...对于初学者来说,这些内容不仅有助于理解Hadoop的基本概念,同时也提供了一套完整的操作指南,以便在没有集群环境的情况下进行Hadoop的学习和练习。

    Hadoop应用开发-实验指导书.doc

    主要分为以下几个部分:Hadoop环境准备与本地模式、Hadoop伪分布式集群模式、Hadoop完全分布式集群模式、HDFS Shell命令以及MapReduce入门案例wordcount。 ### Hadoop环境准备及本地模式 #### 实验目的 - 掌握...

    【IT十八掌徐培成】Hadoop第01天-03.hadoop安装.zip

    8. **运行示例程序**:为了确认Hadoop工作正常,可以运行自带的WordCount示例程序,这个程序统计文本文件中每个单词出现的次数,是Hadoop初学者的常用练习。 9. **关闭Hadoop**:使用`stop-dfs.sh`和`stop-yarn.sh`...

    实验2 基于华为云的Hadoop分布式系统搭建1

    5. 练习HDFS的命令行操作,如`hadoop fs -put`上传本地文件到HDFS,`hadoop fs -ls`查看文件系统,`hadoop fs -cp`、`hadoop fs -rm`进行文件复制和删除,`hadoop fs -cat`查看文件内容。 6. 配置YARN,确保...

    word源码java-hadoop-test:hadoop、mapreduce的一些练习

    hadoop、mapreduce的一些练习 包org.dan.service Hadoop RPC练习 包org.dan.mr.wordcount MapReduce单词计数 包org.dan.mr.flowsum MapReduce流量统计 包org.dan.mr.flowsumsort MapReduce流量统计,按总流量排序 包...

    大数据专业Hadoop开发技术课程实践教学探索.pdf

    实践内容不仅包括Hadoop的安装、配置、HDFS的文件操作,还包括MapReduce编程案例的实操,比如通过WordCount案例学习MapReduce的编程思想,掌握二次排序和表连接操作,以及综合应用案例如电影网站用户性别预测等。...

    TAG_HADOOP:TAG_HADOOP

    作为介绍性练习,您可以运行 WordCount 讲座(和教程)中的示例: cd /usr/local/hadoop-2.5.1 bin / hadoop jar /usr/local/hadoop-2.5.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar wordcount ...

    Hadoop集群程序设计与开发教学大纲.docx

    3. MapReduce编程基础:深入理解MapReduce的工作流程,通过WordCount案例学习编程技巧,以及Combiner和Shuffle的使用。 4. HBase开发:学习HBase工作原理,安装配置,Shell操作及API编程,理解RowKey设计。 5. Hive...

    WordCount测试文件

    在Hadoop、Spark或者其他的分布式计算框架中,WordCount是一个经典的入门例子,它展示了如何处理大规模数据集。 首先,让我们了解一下WordCount的基本工作原理。假设我们有一个大型文本文件,比如《红楼梦》或...

    java连接sqoop源码-Hadoop-project-with-maven:设置了Hadoopmaven依赖项的JavaWordCount

    WordCount 示例 这是一个练习,可帮助您安装和运行用 Java 编写的 hadoop 程序,首先在本地模式下的 IDE 中,然后在您将自己构建的 Hadoop 集群中 先决条件 IDE(eclipse 或 IntelliJ) 开发工具包 Maven 需要在您的...

    Hadoop:midsem hadoop代码和输出

    标题中的“Hadoop: midsem hadoop代码和输出”表明这是一个关于Hadoop的学习资料,可能包含了一次中期考试(midsem)的相关编程练习或项目,其中涵盖了Hadoop的编程实现和运行结果。Hadoop是Apache基金会的一个开源...

    大数据处理map,reduce,wordcount代码

    在“wordcount”示例中,这是一个常见的MapReduce练习,用于统计文本文件中的单词出现次数。在Map阶段,每个工作节点会对输入的文本行进行切分,生成以单词为键,数量为1的键值对。Reduce阶段则收集所有相同单词的...

    MapReduce:使用Hadoop Java API在Map Reduce中进行练习

    Hadoop是Apache基金会的一个开源项目,它实现了MapReduce模型,并提供了Java API供开发者使用。在这个实践场景中,我们将深入探讨如何利用Hadoop Java API来编写MapReduce程序。 **MapReduce的基本原理** ...

    Windows下实现MapReduce的程序实例.zip

    3. **WordCount示例**: 这是最经典的MapReduce示例,用于统计文本文件中每个单词的出现次数。Map阶段将文本行拆分为单词,Reduce阶段则统计每个单词的数量。 4. **提交作业到Hadoop集群**: 通过Hadoop的`hadoop jar...

    大三小学期资源.zip

    9. **测试集群**:通过运行WordCount示例程序来验证集群是否正确部署和运行,这是Hadoop入门的经典练习。 10. **监控与维护**:部署后,持续监控集群性能,确保数据一致性,定期进行维护和更新。 这个压缩包中的...

    配置MapReduce环境.pdf

    编写WordCount程序是MapReduce初学者常见的练习。WordCount示例程序展示了MapReduce的基本工作原理,即通过Mapper和Reducer阶段处理文本数据,统计每个单词的出现次数。Mapper阶段将输入文本分割成单词,Reducer阶段...

Global site tag (gtag.js) - Google Analytics