Return-Path: X-Original-To: apmail-hadoop-user-archive@minotaur.apache.org Delivered-To: apmail-hadoop-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 844E6EBFD for ; Thu, 14 Mar 2013 13:13:11 +0000 (UTC) Received: (qmail 63135 invoked by uid 500); 14 Mar 2013 13:13:06 -0000 Delivered-To: apmail-hadoop-user-archive@hadoop.apache.org Received: (qmail 62993 invoked by uid 500); 14 Mar 2013 13:13:06 -0000 Mailing-List: contact user-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hadoop.apache.org Delivered-To: mailing list user@hadoop.apache.org Received: (qmail 62967 invoked by uid 99); 14 Mar 2013 13:13:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Mar 2013 13:13:05 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of rongzheyi@gmail.com designates 209.85.216.175 as permitted sender) Received: from [209.85.216.175] (HELO mail-qc0-f175.google.com) (209.85.216.175) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Mar 2013 13:12:58 +0000 Received: by mail-qc0-f175.google.com with SMTP id j3so1010171qcs.34 for ; Thu, 14 Mar 2013 06:12:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:from:date:message-id:subject:to :content-type; bh=8nQxlGvfWllIxJ2Pn2lgQGwAzafhYn3obDQDqv4jS3Y=; b=QwMfQyw64iNlRIo9FlVEOn6/cO0hLrlGfFD+Dg6N2Bi0lZQ1UHE3o6ptk/TVqXkgsi Ja4DBfLmidAq2on6gSqYCnmlvdutJ3GbCQic6Az2Y0ueSinG7CSBL98E1C12ikrJgNBD /nJnMfQWzN6e74/qCl9FPZpLzpG4QqvNkXGMeP4GGjoOSeOA7jxpZpxlCqDrPn8V6kS6 agd1FM5QZLccQkpWCaJolCr9e5yC6B4RRIf0f4JM4HACsgyiGJcSH2haF9IcWfCn+kt3 FhzKZOiarC2QEDhedhcq1NLZcuLgxDXD0IirswEyuLwpWd1GtJikXbeWsC4UEV4expHL bTIQ== X-Received: by 10.49.116.235 with SMTP id jz11mr2945137qeb.39.1363266757711; Thu, 14 Mar 2013 06:12:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.51.17 with HTTP; Thu, 14 Mar 2013 06:12:17 -0700 (PDT) From: Zheyi RONG Date: Thu, 14 Mar 2013 14:12:17 +0100 Message-ID: Subject: Run jar built with new apis on a CDH3 cluster To: user@hadoop.apache.org Content-Type: multipart/alternative; boundary=047d7b6775aad3dcae04d7e246b5 X-Virus-Checked: Checked by ClamAV on apache.org --047d7b6775aad3dcae04d7e246b5 Content-Type: text/plain; charset=ISO-8859-1 Hi, Is it possible to run a jar built with hadoop new apis (hadoop 0.22.0) on a cluster deployed with CDH 3 (hadoop 0.20.2) ? The jar uses some hadoop Api (e.g. org.apache.hadoop.mapreduce.lib.chain.ChainMapper) that hadoop 0.20.2 does not have. I ran it, but hadoop complains: Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.apache.hadoop.mapreduce.lib.chain.ChainMapper.addMapper(ChainMapper.java:126) at driver.ChainDriver.run(ChainDriver.java:146) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) at driver.ChainDriver.main(ChainDriver.java:173) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.RunJar.main(RunJar.java:197) Is there any workaround? I really do not want to rewrite my project... Thank you very much. Regards, Zheyi. --047d7b6775aad3dcae04d7e246b5 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi,

Is it possible to run a jar built with hadoop new ap= is (hadoop 0.22.0) on a cluster deployed with CDH 3 (hadoop 0.20.2) ?
=
The jar uses some hadoop Api (e.g. org.apache.hadoop.mapreduce.lib.cha= in.ChainMapper) that hadoop 0.20.2 does not have.

I ran it, but hadoop complains:=A0
Exception = in thread "main" java.lang.IncompatibleClassChangeError: Implemen= ting class
at java.lang.ClassLoader.defineClass1(Native Method)
at ja= va.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.Clas= sLoader.defineClass(ClassLoader.java:615)
at ja= va.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
=
at ja= va.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at ja= va.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLCla= ssLoader$1.run(URLClassLoader.java:197)
at ja= va.security.AccessController.doPrivileged(Native Method)
at java.net.URLCla= ssLoader.findClass(URLClassLoader.java:190)
at ja= va.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoa= der.loadClass(ClassLoader.java:247)
at or= g.apache.hadoop.mapreduce.lib.chain.ChainMapper.addMapper(ChainMapper.java:= 126)
at driver.ChainDriver.run(ChainDriver.java:146)
at or= g.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.hadoo= p.util.ToolRunner.run(ToolRunner.java:79)
at dr= iver.ChainDriver.main(ChainDriver.java:173)
at sun.reflect.NativeMethodAcce= ssorImpl.invoke0(Native Method)
at su= n.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)=
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso= rImpl.java:25)
at ja= va.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.Ru= nJar.main(RunJar.java:197)


Is there any workaround? I really do not= want to rewrite my project...

Thank you very much= .

Regards,

Zheyi.=A0 --047d7b6775aad3dcae04d7e246b5--