Hadoop 3.2.4 WordCount任务无输出问题求助
Hadoop WordCount无输出问题排查(3.2.4版本)
问题描述
我是Hadoop新手,想要使用WordCount执行单词计数,但尝试查看输出时却没有内容显示。

当前配置文件
yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration>
mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
可能的原因及解决办法
- 输入文件异常
- 先确认本地输入文件有内容:执行
cat 本地输入文件名查看内容是否为空。 - 检查文件是否正确上传到HDFS:运行
hdfs dfs -ls /你的输入路径确认文件存在,再用hdfs dfs -cat /你的输入路径/文件名验证内容。
- 先确认本地输入文件有内容:执行
- 输出目录已存在
- Hadoop不允许输出目录预先存在,否则任务会直接跳过执行。执行
hdfs dfs -rm -r /你的输出路径删除后,重新提交WordCount任务。
- Hadoop不允许输出目录预先存在,否则任务会直接跳过执行。执行
- 任务执行失败
- 通过YARN命令查看任务日志:
yarn logs -applicationId <你的应用ID>(应用ID可从任务执行控制台或WebUI获取),根据日志中的错误信息定位问题(比如Map任务读取文件失败、Reduce任务异常等)。 - 也可以通过Hadoop YARN WebUI(默认端口8088)查看任务状态和详细日志。
- 通过YARN命令查看任务日志:
- 权限不足
- 确保当前用户对HDFS上的输入、输出路径有读写权限:执行
hdfs dfs -chmod 755 /目标路径调整权限后重试。
- 确保当前用户对HDFS上的输入、输出路径有读写权限:执行
- 配置补充(针对3.2.4版本)
- 若需要更方便排查任务历史,可在
mapred-site.xml中添加历史服务器配置:<property> <name>mapreduce.jobhistory.address</name> <value>localhost:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>localhost:19888</value> </property> - 修改配置后需重启相关服务:
stop-yarn.sh && stop-mapred.sh && start-yarn.sh && start-mapred.sh
- 若需要更方便排查任务历史,可在
内容的提问来源于stack exchange,提问作者ryan
相关产品推荐
相关产品推荐

