分享

windows连接ubuntu下的hadoop的开发问题

ivysaur 发表于 2015-11-19 11:34:50 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 7 10716
恩,用的是hadoop0.20.2,jdk版本开始是1.7,后来改成了1.6。
但在系统中运行mapreduce程序时会出现“
Unsupported major.minor version 51.0

网上说是jdk版本的问题,但是改成1.6还是一样的错误啊


已有(8)人评论

跳转到指定楼层
mituan2008 发表于 2015-11-19 12:22:02
环境需要一致,比如本地是jdk1.6,远程也需要1.6.并且hadoop编译版需要在jdk1.6下编译。

回复

使用道具 举报

ivysaur 发表于 2015-11-19 12:57:37
mituan2008 发表于 2015-11-19 12:22
环境需要一致,比如本地是jdk1.6,远程也需要1.6.并且hadoop编译版需要在jdk1.6下编译。

都是jdk1.6啊,但windows的是jdk1.6.0_39,linux的是java 1.6.0 openjdk这样不行吗

点评

尽量保持一致  发表于 2015-11-19 13:13
回复

使用道具 举报

ivysaur 发表于 2015-11-19 19:18:02
mituan2008 发表于 2015-11-19 12:22
环境需要一致,比如本地是jdk1.6,远程也需要1.6.并且hadoop编译版需要在jdk1.6下编译。

linux端已经修改成了一样的jdk1.6.0_39,但还是一样的问题,不会是别的原因吗
回复

使用道具 举报

rsgg03 发表于 2015-11-19 19:46:43
ivysaur 发表于 2015-11-19 19:18
linux端已经修改成了一样的jdk1.6.0_39,但还是一样的问题,不会是别的原因吗

楼主贴出具体内容。
直接简单的客观表达,找不到问题的。
Linux上确保存在一个Java版本,需要把原先的jdk卸掉。
jdk版本信息,还有集群进程信息都贴出来看下

回复

使用道具 举报

ivysaur 发表于 2015-11-20 13:05:55
rsgg03 发表于 2015-11-19 19:46
楼主贴出具体内容。
直接简单的客观表达,找不到问题的。
Linux上确保存在一个Java版本,需要把原先的j ...

linux端把旧的jdk已经删掉了,问题还是一样,jdk版本windows和linux端都是jdk1.6.0_39



INFO [org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:226)] - Total input paths to process : 1 - 2015-11-20 13:00:41
INFO [org.apache.hadoop.mapred.JobClient.monitorAndPrintJob(JobClient.java:1275)] - Running job: job_201511201253_0001 - 2015-11-20 13:00:42
INFO [org.apache.hadoop.mapred.JobClient.monitorAndPrintJob(JobClient.java:1288)] -  map 0% reduce 0% - 2015-11-20 13:00:43
INFO [org.apache.hadoop.mapred.JobClient.monitorAndPrintJob(JobClient.java:1317)] - Task Id : attempt_201511201253_0001_m_000000_0, Status : FAILED - 2015-11-20 13:00:52
Error: cn/bjfu/fesdmp/algorithm/HierarchicalMapReduce$Map : Unsupported major.minor version 51.0
WARN [org.apache.hadoop.mapred.JobClient.getTaskLogs(JobClient.java:1387)] - Error reading task outputslave01 - 2015-11-20 13:00:54
WARN [org.apache.hadoop.mapred.JobClient.getTaskLogs(JobClient.java:1387)] - Error reading task outputslave01 - 2015-11-20 13:00:54
INFO [org.apache.hadoop.mapred.JobClient.monitorAndPrintJob(JobClient.java:1317)] - Task Id : attempt_201511201253_0001_m_000000_1, Status : FAILED - 2015-11-20 13:00:58
Error: cn/bjfu/fesdmp/algorithm/HierarchicalMapReduce$Map : Unsupported major.minor version 51.0
WARN [org.apache.hadoop.mapred.JobClient.getTaskLogs(JobClient.java:1387)] - Error reading task outputslave01 - 2015-11-20 13:00:58
WARN [org.apache.hadoop.mapred.JobClient.getTaskLogs(JobClient.java:1387)] - Error reading task outputslave01 - 2015-11-20 13:00:58
INFO [org.apache.hadoop.mapred.JobClient.monitorAndPrintJob(JobClient.java:1317)] - Task Id : attempt_201511201253_0001_m_000000_2, Status : FAILED - 2015-11-20 13:01:04
Error: cn/bjfu/fesdmp/algorithm/HierarchicalMapReduce$Map : Unsupported major.minor version 51.0
WARN [org.apache.hadoop.mapred.JobClient.getTaskLogs(JobClient.java:1387)] - Error reading task outputslave01 - 2015-11-20 13:01:07
WARN [org.apache.hadoop.mapred.JobClient.getTaskLogs(JobClient.java:1387)] - Error reading task outputslave01 - 2015-11-20 13:01:07
INFO [org.apache.hadoop.mapred.JobClient.monitorAndPrintJob(JobClient.java:1343)] - Job complete: job_201511201253_0001 - 2015-11-20 13:01:14
INFO [org.apache.hadoop.mapred.Counters.log(Counters.java:514)] - Counters: 3 - 2015-11-20 13:01:14
INFO [org.apache.hadoop.mapred.Counters.log(Counters.java:516)] -   Job Counters  - 2015-11-20 13:01:14
INFO [org.apache.hadoop.mapred.Counters.log(Counters.java:518)] -     Launched map tasks=4 - 2015-11-20 13:01:14
INFO [org.apache.hadoop.mapred.Counters.log(Counters.java:518)] -     Data-local map tasks=4 - 2015-11-20 13:01:14
INFO [org.apache.hadoop.mapred.Counters.log(Counters.java:518)] -     Failed map tasks=1 - 2015-11-20 13:01:14

回复

使用道具 举报

rsgg03 发表于 2015-11-21 11:28:53
ivysaur 发表于 2015-11-20 13:05
linux端把旧的jdk已经删掉了,问题还是一样,jdk版本windows和linux端都是jdk1.6.0_39

打开exclipse中项目上的属性—java compiler–选择一个合适的版本后重新编译即可。
具体步骤
解决:项目------>右键------>属性------>Java Compiler------>Compiler Compliance Level------>选择你使用的JDK版本------>应用。

1.jpg


总结:不同的JDK版本使用的major.minor不同,所以会导致这个错误。在项目中要使用当前电脑配置的JDK版本,切忌张冠李戴。

回复

使用道具 举报

ivysaur 发表于 2015-11-21 12:56:48
rsgg03 发表于 2015-11-21 11:28
打开exclipse中项目上的属性—java compiler–选择一个合适的版本后重新编译即可。具体步骤解决:项目--- ...

这里我之前已经改了,包括Java build path 的Libraries里也改成了1.6的Library,但还是一样的问题


然后我想过会不会是tomcat(7.0)或者eclipse版本(eclipse-jee-kepler-SR2-win32)的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条