hadoop - 运行时显示未找到映射器类

标签 hadoop mapreduce hbase

map 0%减少0%
15/02/03 07:30:28 INFO mapreduce.Job:任务ID:try_1422885720829_0097_m_000000_0,状态:FAILED
错误:java.lang.RuntimeException:java.lang.ClassNotFoundException:找不到类org.cognizant.pr2.TroubleMapper
在org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1720)
在org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186)
在org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:721)
在org.apache.hadoop.mapred.MapTask.run(MapTask.java:339)
在org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:162)
在java.security.AccessController.doPrivileged(本机方法)
在javax.security.auth.Subject.doAs(Subject.java:396)
在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157)
原因:java.lang.ClassNotFoundException:未找到类org.cognizant.pr2.TroubleMapper
在org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1626)
在org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1718)
...另外8个

15/02/03 07:30:32 INFO mapreduce.Job:任务ID:try_1422885720829_0097_m_000000_1,状态:FAILED
错误:java.lang.RuntimeException:java.lang.ClassNotFoundException:类org.cognizant.pr2.TroubleMapper
在org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1720)
在org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186)
在org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:721)
在org.apache.hadoop.mapred.MapTask.run(MapTask.java:339)
在org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:162)
在java.security.AccessController.doPrivileged(本机方法)
在javax.security.auth.Subject.doAs(Subject.java:396)
在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157)
原因:java.lang.ClassNotFoundException:未找到类org.cognizant.pr2.TroubleMapper
在org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1626)
在org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1718)
...另外8个

15/02/03 07:30:35 INFO mapreduce.Job:任务ID:try_1422885720829_0097_m_000000_2,状态:FAILED
错误:java.lang.RuntimeException:java.lang.ClassNotFoundException:找不到类org.cognizant.pr2.TroubleMapper
在org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1720)
在org.apache.hadoop.mapreduce.task.JobContextImpl.getMapperClass(JobContextImpl.java:186)
在org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:721)
在org.apache.hadoop.mapred.MapTask.run(MapTask.java:339)
在org.apache.hadoop.mapred.YarnChild $ 2.run(YarnChild.java:162)
在java.security.AccessController.doPrivileged(本机方法)
在javax.security.auth.Subject.doAs(Subject.java:396)
在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157)
原因:java.lang.ClassNotFoundException:找不到类org.cognizant.pr2.TroubleMapper
在org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1626)
在org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1718)
...另外8个

15/02/03 07:30:39 INFO mapreduce.Job: map 100%减少100%
15/02/03 07:30:39 INFO mapreduce.Job:作业job_1422885720829_0097因状态失败而失败,原因是:任务失败task_1422885720829_0097_m_000000
由于任务失败,作业失败。 failedMaps:1次失败减少:0次

15/02/03 07:30:39 INFO mapreduce。工作:计数器:6
工作柜台
失败的 map task = 4
启动的 map task = 4
其他本地 map task = 3
本地数据 map task = 1
所有 map 在占用的插槽中花费的总时间(ms)= 8357
所有设备花费的总时间减少,占用的时隙(ms)= 0

最佳答案

重新编译您的Java代码,并确保已存在运行jar作业的所有jar。

"su - hdfs" 

export HADOOP_CLASSPATH=`hbase classpath`

#### export HADOOP_CLASSPATH=/etc/hbase/conf:/usr/lib/hbase/*:jar

并运行MR代码!

关于hadoop - 运行时显示未找到映射器类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28299251/

相关文章:

hadoop - 在Hive中注册Hbase表

java - 在同一程序中处理 2 个版本的 hadoop 时,Hadoop jar 冲突问题

shell - 计算 HDFS 目录中单个文件的行数

java - 加载数据到HDFS时出现一些错误

optimization - 旅行推销员和 map /减少 : Abandon Channel

hadoop - hive外部表有什么意义?

hadoop - 如何过滤Hadoop结果输出

scala - 如何在 Spark 流中创建停止条件?

mongodb - MapReduce MongoDB 用户代理

hadoop - 扫描 hbase 时 map task 卡住