hadoop自带示例wordcount

本文详细介绍如何在Hadoop环境下启动集群、使用HDFS文件系统,并通过WordCount示例程序统计文本中单词出现频率的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先确认你的hadoop启动了。

master与slave启动方式相同,进入hadoop目录下的sbin目录,命令:$cd /home/hadoop/hadoop/sbin (根据个人安装的hadoop目录调整)

启动hadoop:(1)$./start-dfs.sh (2)$./start-yarn.sh

启动后的效果如图:master如图1,slave如图2

1                                                                       图2

ps:可以在真机浏览器上输入master:50070或者/8088查看hadoop具体启动详情。

2.敲黑板划重点

HDFS是hadoop原生态的文件系统!!!类似window下NTFS,不理解的童鞋自己补习下操作系统去。很多神坑教程并没有强调这一点,只是一味的让你$hadoop fs -mkdir /input,小编在这里再次强调下,这条命令是在hdfs文件系统下创建/input目录,所以要用hadoop的命令方式才能查看到你的文件。$hadoop fs -ls /input

3.具体实现

进入hadoop安装目录:$cd /home/hadoop/hadoop/

  查看目录下情况:$ll

          可以看到:如下图目录详情


这里我们就以LICENSE.txt文件作为输入源文件,可以查看下license内容:$ cat LICENSE.txt ,我们统计下里面各个单词出现的次数,是不是有点小激动。。。。#。#


3.1在HDFS中创建input目录

就在刚才hadoop 目录下,输入命令:$hadoop fs -mkdir /input 之后可以用命令看:$hadoop fs -ls / 我们创建input目录成功,截图

如下图:


我们将LICENSE.txt放到input目录下:$hadoop fs -put LICENSE.txt /input 可以通过命令:$hadoop fs -ls /input看到license.txt已经存在input目录下了,截图如下图:

接下来只需要将/input通过hadoop自带示例程序wordcount计算出其中各字母出现的次数便可,命令:$hadoop jar /home/hadoop/hadoop/share/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input /output(ps:根据自己hadoop版本和路径相应的调整),由于我之前已经运行过一遍,所以直接就出现下面的截图,第一次运行可能需要等上一小会,毕竟那么多单词,统计还是要花时间的,截图奉上:

可以通过命令$hadoop fs -ls /看出,HDFS系统下多了个/output 和/tmp目录。打开/output目录可以看到下面有两个文件(_SUCCESS和part-r-00000),说明已经运行成功了,直接打开part-r-00000便可以查看结果,命令$hadoop fs -cat /output/part-r-00000,结果如图:



4.总结

这是小编自学hadoop的第一个示例程序,虽然简单,但是通过自己对hadoop文件系统HDFS和hadoop的shell命令的了解。

<think>好的,我现在需要帮助用户在Linux环境下运行Hadoop自带WordCount示例程序。根据用户提供的引用内容,我得先整理出正确的步骤,并确保用户能够顺利操作。首先,用户可能需要了解如何准备输入文件、上传到HDFS、执行命令以及查看结果。同时,用户可能会遇到一些常见错误,比如路径问题或者JAR不存在,这些也需要在回答中提到解决方案。 首先,我需要确认Hadoop的环境是否正确安装和配置。用户可能需要确保Hadoop已经启动,并且相关的服务如HDFS和YARN正在运行。接着,准备测试用的文本文件,例如myword.txt,然后将其上传到HDFS的指定目录,比如/data/input。根据引用[^1][^2][^3][^4][^5],上传文件的命令是hadoop fs -put。 接下来,执行WordCount程序需要找到正确的JAR路径。不同版本的Hadoop路径可能不同,例如引用中的路径是$HADOOP_HOME/share/hadoop/mapreduce,而JAR文件名也因版本而异,如hadoop-mapreduce-examples-2.10.1.jar或3.3.4版本。用户需要根据自己安装的Hadoop版本调整JAR文件名和路径,否则会遇到“jar不存在”的错误,如引用提到的。 然后,运行命令的格式通常是hadoop jar <jar路径> wordcount <输入路径> <输出路径>。需要注意的是输出目录不能预先存在,否则Hadoop会报错,所以用户可能需要先删除旧的输出目录。此外,用户可能没有权限访问某些目录,需要确保输出路径有写入权限,如引用[^5]中的/user/hive/output。 完成作业后,用户需要使用hadoop fs -cat或-get命令查看结果。同时,常见问题如JAR路径错误、权限问题、输出目录已存在等,都需要在步骤中提醒用户,并给出解决方法,例如引用[^4]中提到的使用绝对路径或检查目录位置。 最后,生成相关问题需要考虑用户可能进一步的需求,比如不同输入格式的处理、提高性能的方法、结果保存到本地、监控作业状态以及处理大文件等。这些问题可以帮助用户更深入地使用HadoopWordCount程序。 总结步骤应该是清晰的,分点说明,并含注意事项和示例代码,确保用户能够一步步跟随操作。同时,引用相关的问题案例,帮助用户避免常见错误,确保顺利完成测试。</think>### 分步说明:在Linux上运行Hadoop自带WordCount程序 #### 1. 准备输入文件 - 创建测试文件 `myword.txt`(示例内容): ```plaintext Hello Hadoop Hadoop MapReduce WordCount Hello Linux ``` - 确保文件保存在Linux本地路径(如 `/home/user/`) #### 2. 上传文件到HDFS - **创建HDFS输入目录** ```bash hadoop fs -mkdir -p /data/input ``` - **上传本地文件到HDFS** ```bash hadoop fs -put /home/user/myword.txt /data/input ``` 验证文件是否上传成功: ```bash hadoop fs -ls /data/input ``` #### 3. 运行WordCount程序 - **定位Hadoop示例程序JAR** 根据Hadoop版本找到对应的JAR文件路径(需替换版本号): ```bash cd $HADOOP_HOME/share/hadoop/mapreduce ls hadoop-mapreduce-examples-*.jar # 确认文件名 ``` 示例命令(假设版本为3.3.4): ```bash hadoop jar hadoop-mapreduce-examples-3.3.4.jar wordcount /data/input /data/output ``` **参数说明**: - `/data/input`:HDFS输入目录 - `/data/output`:HDFS输出目录(必须不存在,否则会报错) #### 4. 查看运行结果 - **检查输出目录** ```bash hadoop fs -ls /data/output ``` - **查看结果文件** ```bash hadoop fs -cat /data/output/part-r-00000 ``` 预期输出示例: ```plaintext Hadoop 2 Hello 2 Linux 1 MapReduce 1 WordCount 1 ``` --- #### 注意事项 1. **JAR路径问题** - 若报错 `jar not found`,使用绝对路径指定JAR文件,例如: ```bash hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /data/input /data/output ``` - 通过 `find / -name "hadoop-mapreduce-examples*.jar"` 搜索文件位置[^4] 2. **输出目录冲突** - 若输出目录已存在,先删除旧目录: ```bash hadoop fs -rm -r /data/output ``` 3. **权限问题** - 若提示权限不足,尝试添加HDFS目录权限: ```bash hadoop fs -chmod 777 /data/input ``` --- §§ 相关问题 §§ 1. 如何让WordCount程序处理多个输入文件? 2. 如何优化Hadoop WordCount任务的性能? 3. 如何将WordCount结果从HDFS下载到本地? 4. 如何监控WordCount作业的运行状态? 5. WordCount程序处理大文件(例如10GB)需要调整哪些参数? --- : 引用自Hadoop文件操作指南 [^2]: 引用自Hadoop官方示例文档 [^3]: 引用自MapReduce开发手册 : 引用自Hadoop常见错误解决方案 : 引用自Hive与Hadoop集成案例
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值