hadoop进行wordcount测试时,没有wcoutput,或者wcoutput没有两个文件

第一个访问的页面没有wcoutput这个文件,参考了原视频下的评论已经自己找方法后发现

wordcount在页面上运行不出来,只出个temp,去/opt/module/hadoop-3.1.3/etc/hadoop里vim mapred-site.xml 添加

<property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
<property>
    <name>mapreduce.map.env</name>
    <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
<property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>

第二个是wcoutput里面没有出来两个文件

有博主说是因为word.txt里面存在空行,把空行删除就可以了,但是对我没有用;也有博主说是应该在wcinput/word.txt,但是我也试过没有用,后来等了十几分钟自己又重新运行了命令,就直接出来了,很无语,wcoutput好像有没有都没有影响,这小小的bug卡了两个小时,小白真的很痛苦

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /wcinput /wcoutput2

 

HadoopWordCount案例是一个经典的入门示例,用于统计文本文件中每个单词出现的次数。如果在运行程序遇到“找不到wcoutput文件”的错误,通常是因为以下几个原因之一: 1. **输出路径已存在**:Hadoop不允许覆盖现有的输出目录。如果你尝试将结果写入一个已经存在的`wcoutput`目录,任务会失败,并抛出类似“目录已存在”的异常。 - 解决方案:删除已有输出目录后再运行任务,或者指定一个新的输出路径。 ```bash hdfs dfs -rm -r /path/to/wcoutput ``` 2. **输入路径不存在或错误**:检查你提供的输入数据是否正确无误。如果输入路径无效或无法访问,可能会导致整个任务失败。 3. **权限问题**:当前用户对目标HDFS路径可能缺乏足够的操作权限。你需要确认是否有正确的读/写权限来创建这个`wcoutput`文件夹及其内容。 4. **配置问题**:确保你的作业配置准确指定了输入和输出位置,并且这些值匹配实际使用的集群环境设置。 ### 示例修正步骤 假设我们使用的是本地测试模式并且所有必要的JAR包都准备好了: ```java Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "word count"); job.setOutputPath(new Path("/user/hadoop/wcoutput")); // 指定新的输出路径 ``` 然后提交前先清理旧的结果集: ```bash hdfs dfs -mkdir -p /user/hadoop/ hdfs dfs -rm -r /user/hadoop/wcoutput # 清理之前的结果避免冲突 ``` 最后再通过命令行启动MR应用即可正常生成所需的 wcoutput 文件了!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值