博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
eclipse 执行MapReduce程序错误异常汇总(解决Map not fount)
阅读量:7089 次
发布时间:2019-06-28

本文共 2049 字,大约阅读时间需要 6 分钟。

错误一:

Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class wordCount.wordCount$Map not found

at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2074)
at org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:742)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Caused by: java.lang.ClassNotFoundException: Class wordCount.wordCount$Map not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1980)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2072)
... 8 more

问题分析:非常烦人的一个问题。非常久之前就碰见过,后来电脑linux换了一个版本号,攻克了

解决的方法:eclipse加入hadoop配置文件问题,记住仅仅须要在程序文件夹下新建一个conf的文件夹。把log4j.properties复制到该文件夹下,重新启动eclipse就可以

错误二:

eclipse 执行MR提示无法訪问的情况

问题分析:权限不足

解决的方法:又一次给hdfs文件系统赋予权限(可能会常常遇到这样的问题,可运行同一种操作就可以)bin/hdfs dfs -chmod -R 777 /

错误三:

HMaster启动之后马上又关闭

问题分析:可能是zookeeper不稳定造成的,

解决的方法:停止zookeeper服务(bin/zkServer.sh stop zoo1.cfg     bin/zkServer.sh stop zoo2.cfg    bin/zkServer.sh stop zoo3.cfg ),再又一次启动

错误四:

15/08/23 11:10:07 INFO mapreduce.JobSubmitter: Cleaning up the staging area file:/usr/local/hadoop/tmp/mapred/staging/thinkgamer1735608800/.staging/job_local1735608800_0001

Exception in thread "main" ExitCodeException exitCode=1: chmod: 无法訪问"/usr/local/hadoop/tmp/mapred/staging/thinkgamer1735608800/.staging/job_local1735608800_0001": 没有那个文件或文件夹

问题分析:eclipse的配置文件缺少

解决的方法:把配置hadoop时所改动的配置文件所有拷贝到src目录下

错误五:

Exception in thread "main" org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://localhost:9000/thinkgamer/output already exists

问题分析:hdfs文件系统中的output目录已经存在

解决的方法:删除就可以(同一时候还可能出现找不到input文件夹的问题,此时注意检查input路径)

转载地址:http://mjfql.baihongyu.com/

你可能感兴趣的文章
探究ConcurrentHashMap中键值对在Segment[]的下标如何确定
查看>>
Docker学习记录3: 搭建 Private Registry
查看>>
计算机图形学 补 光线跟踪
查看>>
spring整合logback配置文件
查看>>
captive portal
查看>>
mysql基本数据类型(mysql学习笔记三)
查看>>
Laravel踩坑笔记——illuminate/html被抛弃
查看>>
飞秋命令行
查看>>
做题时一时没想起来的问题总结
查看>>
[转]python-元类
查看>>
复习日记-Listener/filter/servlet3.0/动态代理
查看>>
Win7x64安装了DroidPilot-Win64.exe之后跑不起来 -- 解决办法
查看>>
VS2010 中C++ 和C# 颜色转化
查看>>
java 自带的工具
查看>>
CentOS 7配置MariaDB允许指定IP远程连接数据库
查看>>
计算机基础——指令与程序
查看>>
用三段 140 字符以内的代码生成一张 1024×1024 的图片<转载>
查看>>
HTML CSS
查看>>
sqlserver存储过程中SELECT 与 SET 对变量赋值的区别
查看>>
【分享】开源富文本编辑器之间的较量
查看>>