-
2018-11-19 16:59:31
2018.11.19测试,可行
0.前言
前面一篇《Hadoop初体验:快速搭建Hadoop伪分布式环境》搭建了一个Hadoop的环境,现在就使用Hadoop自带的wordcount程序来做单词统计的案例。
http://www.linuxidc.com/Linux/2017-09/146694.htm
1.使用示例程序实现单词统计
(1)wordcount程序
wordcount程序在hadoop的share目录下,如下:
[root@linuxidc mapreduce]# pwd
/usr/local/hadoop/share/hadoop/mapreduce
[root@linuxidc mapreduce]# ls
hadoop-mapreduce-client-app-2.6.5.jar hadoop-mapreduce-client-jobclient-2.6.5-tests.jar
hadoop-mapreduce-client-common-2.6.5.jar hadoop-mapreduce-client-shuffle-2.6.5.jar
hadoop-mapreduce-client-core-2.6.5.jar hadoop-mapreduce-examples-2.6.5.jar
hadoop-mapreduce-client-hs-2.6.5.jar lib
hadoop-mapreduce-client-hs-plugins-2.6.5.jar lib-examples
hadoop-mapreduce-client-jobclient-2.6.5.jar sources就是这个hadoop-mapreduce-examples-2.6.5.jar程序。
(2)创建HDFS数据目录
创建一个目录,用于保存MapReduce任务的输入文件:[root@linuxidc ~]# hadoop fs -mkdir -p /data/wordcount
创建一个目录,用于保存MapReduce任务的输出文件:
[root@linuxidc ~]# hadoop fs -mkdir /output
查看刚刚创建的两个目录:
[root@linuxidc ~]# hadoop fs -ls /
drwxr-xr-x - root supergroup 0 2017-09-01 20:34 /data
drwxr-xr-x - root supergroup 0 2017-09-01 20:35 /output(3)创建一个单词文件,并上传到HDFS
创建的单词文件如下:[root@linuxidc ~]# cat myword.txt
linuxidc yyh
yyh xplinuxidc
katy ling
yeyonghao linuxidc
xpleaf katy上传该文件到HDFS中:
[root@linuxidc ~]# hadoop fs -put myword.txt /data/wordcount
在HDFS中查看刚刚上传的文件及内容:
[root@linuxidc ~]# hadoop fs -ls /data/wordcount
-rw-r--r-- 1 root supergroup 57 2017-09-01 20:40 /data/wordcount/myword.txt
[root@linuxidc ~]# hadoop fs -cat /data/wordcount/myword.txt
linuxidc yyh
yyh xplinuxidc
katy ling
yeyonghao linuxidc
xpleaf katy(4)运行wordcount程序
执行如下命令:[root@linuxidc ~]# hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /data/wordcount /output/wordcount
...
17/09/01 20:48:14 INFO mapreduce.Job: Job job_local1719603087_0001 completed successfully
17/09/01 20:48:14 INFO mapreduce.Job: Counters: 38
File System Counters
FILE: Number of bytes read=585940
FILE: Number of bytes written=1099502
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
HDFS: Number of bytes read=114
HDFS: Number of bytes written=48
HDFS: Number of read operations=15
HDFS: Number of large read operations=0
HDFS: Number of write operations=4
Map-Reduce Framework
Map input records=5
Map output records=10
Map output bytes=97
Map output materialized bytes=78
Input split bytes=112
Combine input records=10
Combine output records=6
Reduce input groups=6
Reduce shuffle bytes=78
Reduce input records=6
Reduce output records=6
Spilled Records=12
Shuffled Maps =1
Failed Shuffles=0
Merged Map outputs=1
GC time elapsed (ms)=92
CPU time spent (ms)=0
Physical memory (bytes) snapshot=0
Virtual memory (bytes) snapshot=0
Total committed heap usage (bytes)=241049600
Shuffle Errors
BAD_ID=0
CONNECTION=0
IO_ERROR=0
WRONG_LENGTH=0
WRONG_MAP=0
WRONG_REDUCE=0
File Input Format Counters
Bytes Read=57
File Output Format Counters
Bytes Written=48(5)查看统计结果
如下:[root@linuxidc ~]# hadoop fs -cat /output/wordcount/part-r-00000
katy 2
linuxidc 2
ling 1
xplinuxidc 2
yeyonghao 1
yyh 2效果:
更多相关内容 -
三十二、基于Hadoop伪分布式运行Hadoop自带wordcount案例
2021-09-16 12:36:14环境背景: Hadoop伪分布式已经搭建完成 Hadoop2.6.0 Hadoop伪分布搭建见: Hadoop伪分布式的搭建详情... 注:Wordcount是MapRe...环境背景:
Hadoop伪分布式已经搭建完成
Hadoop2.6.0
Hadoop伪分布搭建见:
案例实施:
1.启动集群:
2.进入虚拟机浏览器地址栏localhost:50070和localhost:8088查看集群状态:
注:Wordcount是MapReduce的入门示例程序,相当于我们在学某个编程语言时写的Hello World示例一样。这个程序可以统计某个文件中,各个单词出现的次数。Wordcount程序自带的jar包已经放置在hadoop安装目录下的 /share/hadoop/mapreduce 文件夹中。
3.配置wordcount环境:
(1)进入Hadoop安装路径下可以看到:图中的txt文件为Hadoop自带的测试文件,这里将进行自定义文件进行操作。
(2)在这里我们新建wordcount.txt文件进行测试,文本内容如下:
(3)在HDFS根目录下新建input目录:
(4)将本地的wordcount.txt上传到HDFS的input目录下:
(5)查看文件是否上传成功:
注:如图出现/input和/input/wordcount.txt文件即为上传成功
4.运行wordcount案例:
注:使用hadoop jar命令 +mapreduce自带的jar包路径(绝对路径)+文件名+输入路径+输出路径 #此处jar包根据自身实际情况进行修改
运行过程注意观察这几处字样,即为运行成功:
5.查看运行结果:
再次查看运行结果文件:
可以看到,程序运行产生了很多文件,其中/output/part -r -00000即为程序运行完成时的结果文件,如下图:
基于Hadoop伪分布式运行Hadoop自带wordcount案例完成
-
单独编译运行hadoop自带wordcount例子
2021-01-17 17:56:241、首先要找到wordcount的源代码,在http://svn.apache.org/repos/asf/hadoop/中,用svn客户端check out下来,找到svn.apache.org_repos_asf\hadoop\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\...1、首先要找到wordcount的源代码,在http://svn.apache.org/repos/asf/hadoop/中,用svn客户端check out下来,找到svn.apache.org_repos_asf\hadoop\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples\WordCount.java
2、创建文件夹并且把wordcount文件拷出来:
mkdir playground
mkdir playground/src
mkdir playground/classes
cp src/examples/org/apache/hadoop/examples/WordCount.java playground/src/WordCount.java
3、在hadoop框架中编译和执行这个副本
javac -classpath hadoop-core-1.0.1.jar:lib/commons-cli-1.2.jar -d playground/classes/ playground/src/WordCount.java
jar -cvf playground/wordcount.jar -C playground/classes/ .
标明清单(manifest)
增加:org/(读入= 0) (写出= 0)(存储了 0%)
增加:org/apache/(读入= 0) (写出= 0)(存储了 0%)
增加:org/apache/hadoop/(读入= 0) (写出= 0)(存储了 0%)
增加:org/apache/hadoop/examples/(读入= 0) (写出= 0)(存储了 0%)
增加:org/apache/hadoop/examples/WordCount.class(读入= 1911) (写出= 996)(压缩了 47%)
增加:org/apache/hadoop/examples/WordCount$IntSumReducer.class(读入= 1789) (写出= 746)(压缩了 58%)
增加:org/apache/hadoop/examples/WordCount$TokenizerMapper.class(读入= 1903) (写出= 819)(压缩了 56%)
4、运行你的程序,出现如下信息说明执行成功:
$ bin/hadoop jar playground/wordcount.jar org.apache.hadoop.examples.WordCount input my_output
11/12/05 21:33:30 INFO input.FileInputFormat: Total input paths to process : 1
11/12/05 21:33:31 INFO mapred.JobClient: Running job: job_201111281334_0014
11/12/05 21:33:32 INFO mapred.JobClient: map 0% reduce 0%
11/12/05 21:33:41 INFO mapred.JobClient: map 100% reduce 0%
11/12/05 21:33:53 INFO mapred.JobClient: map 100% reduce 100%
11/12/05 21:33:55 INFO mapred.JobClient: Job complete: job_201111281334_0014
11/12/05 21:33:55 INFO mapred.JobClient: Counters: 17
11/12/05 21:33:55 INFO mapred.JobClient: Job Counters
11/12/05 21:33:55 INFO mapred.JobClient: Launched reduce tasks=1
11/12/05 21:33:55 INFO mapred.JobClient: Launched map tasks=1
11/12/05 21:33:55 INFO mapred.JobClient: Data-local map tasks=1
11/12/05 21:33:55 INFO mapred.JobClient: FileSystemCounters
11/12/05 21:33:55 INFO mapred.JobClient: FILE_BYTES_READ=25190
11/12/05 21:33:55 INFO mapred.JobClient: HDFS_BYTES_READ=44253
11/12/05 21:33:55 INFO mapred.JobClient: FILE_BYTES_WRITTEN=50412
11/12/05 21:33:55 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=17876
11/12/05 21:33:55 INFO mapred.JobClient: Map-Reduce Framework
11/12/05 21:33:55 INFO mapred.JobClient: Reduce input groups=1857
11/12/05 21:33:55 INFO mapred.JobClient: Combine output records=1857
11/12/05 21:33:55 INFO mapred.JobClient: Map input records=734
11/12/05 21:33:55 INFO mapred.JobClient: Reduce shuffle bytes=25190
11/12/05 21:33:55 INFO mapred.JobClient: Reduce output records=1857
11/12/05 21:33:55 INFO mapred.JobClient: Spilled Records=3714
11/12/05 21:33:55 INFO mapred.JobClient: Map output bytes=73129
11/12/05 21:33:55 INFO mapred.JobClient: Combine input records=7696
11/12/05 21:33:55 INFO mapred.JobClient: Map output records=7696
11/12/05 21:33:55 INFO mapred.JobClient: Reduce input records=1857
5、查看结果,在文件系统的my_output中
分享到:
2012-04-09 21:07
浏览 3956
评论
-
ubuntu运行hadoop的wordcount
2012-09-22 21:16:02ubuntu上面运行hadoop自带的wordcount实例 -
hadoop的wordcount实例代码
2020-08-28 02:10:04主要介绍了hadoop的wordcount实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下 -
运行hadoop自带wordcount例子
2017-09-07 16:00:18运行hadoop自带wordcount例子 GSS initiate failed说在前面
一直又想写博客的想法,而自己又太懒,感觉也写不出来什么。恰巧在工作中花了较多时间来搭建Ambari和hadoop环境,集成了ldap、kerberos、hue、es等等;正好借这个机会开始写博客吧,把自己遇到的问题及经验分享出来,希望自己能坚持下来。
环境配置
系统环境Centos6.5,Ambari 2.5.1,HDP2.6,开启了Kerberos服务
1、首先要认识到:hadoop的输入输出都是在hdfs文件系统上的,而hdp自带的wordcount例子需要有输入文件,所以需要先上传输入文件到hdfs上。可以用hadoop fs -ls /[文件目录]查看你所需要查看的目录,如下:
这里我把输入文件上传到/user/hive/下,
[root@master text]# hadoop fs -put data.txt /user/hive
put: Permission denied: user=root, access=WRITE, inode="/user/hive/data.txt._COPYING_":hive:hdfs:drwxr-xr-x
上面是报错信息,说root用户没有权限访问,所以这里将linux用户切换到hive,来进行文件上传
[hive@master text]$hadoop fs -put data.txt /user/hive 由于启用了kerberos,所以会报如下错误信息:
17/09/07 16:43:19 WARN ipc.Client: Exception encountered while connecting to the server : javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
put: Failed on local exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]; Host Details : local host is: "master/192.168.0.27"; destination host is: "master":8020;
这里因为切换到hive用户后,当前缓存的kerberos用户为空,所以需要登录一个kerberos用户,这里我们使用hive的kerberos用户,命令:
kinit -kt /etc/security/keytabs/hive.service.keytab hive/master (注:master需要替换为你当前域名,中间红色的为hive的keytab文件位置,然后可以用klist命令查看当前kerberos用户)
然后再进行文件上传就不会有错了
2、我们先找到hdp自带的wordcount jar包,我这里位置为/usr/hdp/2.6.0.3-8/hadoop-mapreduce/,所以进入这个目录,执行以下命令:
[hive@master hadoop-mapreduce]$ hadoop jar hadoop-mapreduce-examples.jar wordcount /user/hive/data.txt /user/hive/output
/user/hive/data.txt 即为我刚上传到hive下的文件,/user/hive/output 为输出目录,记住这个目录一定不要存在,不然会报output folder already exists
下图为运行结果
我们也可以通过yarn的资源界面来进行查看(这个任务会提交到yarn进行处理),如下图
3、这里我通过hue来查看输出结果,
输出结果还是很直观的
-
运行hadoop自带的wordcount程序时报错
2021-11-18 09:16:10报错内容为Usage:wordcount [...] ,实在找不出原因,求大神指点 -
[Hadoop]运行自带wordcount程序
2020-04-22 21:24:47话不多说。 1、开启Hadoop服务 首先到Hadoop安装目录下的/sbin,然后运行./start-all.sh ...当看到上面六个服务说明已经正常...bin/hadoop fs -mkdir -p /test/wordcount #创建一个test/wordcount文件目录 ... -
Hadoop自带wordcount实例
2020-10-28 19:50:22Hadoop自带wordcount实例 Hadoop环境搭建成功后,运行一下wordcount实例 1、终端切换到root:su- 2、启动HDFS,如果是第一次用的话,先格式化namenode: hdfs namenode -format(格式化一次就行,总格式化会导致集群... -
centos下运行hadoop的wordcount实例
2021-11-21 21:32:59centos下运行hadoop自带的wordcount实例 我的版本:Centos7;JDK1.8.0;Hadoop2.8.0 一、步骤 1.启动hadoop及yarn功能组件,查看jps进程数 代码如下: start-dfs.sh start-yarn.sh 部分命令图片示例: yarn主要... -
Hadoop 执行WordCount程序发生的错误
2021-12-17 21:13:29Container is running 274913792B beyond the 'VIRTUAL' memory limit. Current usage: 71.1 MB of 1 GB physical memory used; 2.4 GB of 2.1 GB virtual memory used. Killing container. 虚拟内存不够,... -
hadoop:如何运行自带wordcount
2021-01-27 00:01:04hadoop:如何运行自带wordcount转载自:http://www.aboutyun.com/thread-7713-1-1.html1.找到examples例子我们需要找打这个例子的位置:首先需要找到你的hadoop文件夹,然后依照下面路径:/hadoop/share/hadoop/... -
hadoop jar 运行hadoop自带wordcount报错
2017-06-05 09:56:20安装完hadoop-2.7.3之后,想试试其自带的wordcount例子,但是一直报下面的错,空间不足。。 但是我都还没开始用,怎么会出这种问题。。我是单机上运行的伪分布式,其他的都能正常运行,hdfs也是正常的,能在其中导入... -
三、Hadoop运行自带wordcount
2018-08-13 20:44:291.首先确认你的hadoop启动了。 master与slave启动方式相同,进入hadoop目录下的sbin目录,命令:$cd /home/hadoop/hadoop/sbin (根据个人安装的hadoop目录调整) 启动hadoop:(1)$./start-dfs.sh (2)$./start-yarn.... -
hadoop运行自带实例wordcount
2020-04-13 11:11:52hadoop运行自带实例wordcount实验环境启动hadoop将输入文件传到hdfs系统查看文件上传是否成功运行wordcount 实验环境 操作系统:ubuntu hadoop版本:3.1.3 启动hadoop cd /usr/local/hadoop bin/hdfs namenode -... -
手把手教你使用Hadoop自带的wordcount程序
2021-07-13 09:07:20切换到hadoop用户,启动Hadoop su hadoop start-all.sh mr-jobhistory-daemon.sh start historyserver -
运行Hadoop自带的MapReduce程序WordCount
2019-12-11 17:47:06Hadoop自带了个单词计数的MapReduce程序WordCount,下面用三种方法运行该程序 在开始前先在hdfs上面创建输入和输出路径: 1、使用hdfs dfs -mkdir /input命令创建一个input文件夹 2、使用hdfs dfs -put /home/... -
Hadoop自带WordCount进行词频统计(mapreduce)
2020-11-26 18:57:40Hadoop自带WordCount进行词频统计 准备: 安装好的Hadoop 需要统计词频txt文件 step1 启动Hadoop cd /usr/local/hadoop ./sbin/start-all.sh 用jps命令查看是否开启成功 准备好需要统计词频的txt文件(也... -
hadoop运行wordcount实例
2012-05-30 15:40:07包含配置hadoop过程中遇到的一些问题的解决办法和成功运行wordcount实例的步骤 -
window上使用idea运行Hadoop自带的WordCount示例代码
2019-12-07 10:44:55安装完之后最关键的还是要知道怎么用吧,下面就使用Hadoop自带的WordCount例子运行一下 工具:idea和maven(没有的话可以去下载,安装方法很简单,和jdk的安装一样,如果嫌麻烦,使用idea自带的maven也可以) new一... -
Hadoop(1)---运行Hadoop自带的wordcount出错问题。
2018-08-16 18:37:00在hadoop2.9.0版本中,对namenode、yarn做了ha,随后在某一台namenode节点上运行自带的wordcount程序出现偶发性的错误(有时成功,有时失败),错误信息如下: 18/08/16 17:02:42 INFO client.... -
Hadoop运行示例WordCount
2021-07-07 17:41:52一、运行Hadoop自带的hadoop-examples.jar报错 Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x 解决办法: 1.进入hdfs su - hdfs 2.查看目录权限 hdfs dfs -ls / 3.... -
在命令行中运行Hadoop自带的WordCount程序
2018-09-07 16:24:08我们可以在这个集群上运行Hadoop的“Hello World程序”——WordCount单词计数。这个程序的代码在我们下载安装Hadoop的时候就已经打包下载好了,我们只需要直接去使用就可以了。 (一)、启动hdfs进程服务: 进入... -
eclipse运行hadoop自带的wordcount程序
2019-03-14 21:10:29hadoop已经启动,eclipse已经成功链接dfs 2.新建文件夹和文件 我是在home/psy下新建wordcounttest文件夹 a.txt 文件内容为hello world b.txt文件内容为hello hadoop 3.在hdfs上新建input文件夹 在hadoop的根... -
查看并使用hadoop自带的示例程序(以wordcount为例)
2022-04-12 13:22:57查看并使用hadoop自带的示例程序(以wordcount为例) 1. 查看hadoop自带的示例程序 hadoop jar hadoop安装路径+/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar,如: hadoop jar /home/hadoop-2.7.3/... -
运行hadoop自带的案例—wordcount
2019-05-21 10:04:59主要有四个步骤: ...1、 bin/hadoop fs –mkdir –p/data/wordcount 创建的输入数据目录 2、 bin/hadoop fs –mkdir –p/output/ 创建的输出数据目录 二、 将要测试的文件上传到hdfs文件系统的输入数据目录 1...