You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-user@hadoop.apache.org by Ahmed Eldawy <as...@gmail.com> on 2013/05/16 22:59:39 UTC

Hadoop running the incorrect class

Hi all,
  I'm having a very silly problem that is making me pull the hair out of my
head. I created a program and generated a jar out of it. The program was
running fine for a long time (months) and I was updating it regularly and
everything was going fine. Just yesterday, I started to have a very weird
case. I update my program, create the jar file, but when running the new
jar file, the old class is the one that is actually running. I'm sure the
jar file was created correctly because when I run the jar file directly
using "java -jar", it runs the correct updated class. This problem only
happens when using hadoop. I think it caches the old class somewhere. I
tried to restart my machine to make sure all tmp files are cleared but
still the same problem. I even went further by opening the jar file and
deleting the main class. Even after deleting the class, hadoop still runs
the old class. I removed all classes from the jar file and left only the
META-INF files and it still executes the old class.

I must have did something wrong in the last few days that caused this
problem to happen but I really can't figure out what the problem is. The
only thing I remember is that I created another hadoop installation that
runs in different ports to try different things in both clusters. However,
I removed all traces of the other binary distribution and I'm currently
running the jar file without any hadoop processes running. So, there is no
actual cluster running here.

Please help me.

Thanks
Ahmed

Best regards,
Ahmed Eldawy

Re: Hadoop running the incorrect class

Posted by Ahmed Eldawy <as...@gmail.com>.
Thanks Harsh. JarFinder helped me locating the guilty jar file. It was in
the hadoop class path indeed but I didn't think it has a copy of the main
class.
Thanks for your help.

Ahmed

Best regards,
Ahmed Eldawy


On Thu, May 16, 2013 at 5:56 PM, Harsh J <ha...@cloudera.com> wrote:

> Check your "hadoop classpath" output - check on the output if your jar
> was placed on it directly.
>
> Alternatively, use a tool such as
> https://github.com/mreid-moz/JarFinder, etc. to help you locate the
> offending jar or class bits.
>
> On Fri, May 17, 2013 at 2:29 AM, Ahmed Eldawy <as...@gmail.com> wrote:
> > Hi all,
> >   I'm having a very silly problem that is making me pull the hair out of
> my
> > head. I created a program and generated a jar out of it. The program was
> > running fine for a long time (months) and I was updating it regularly and
> > everything was going fine. Just yesterday, I started to have a very weird
> > case. I update my program, create the jar file, but when running the new
> jar
> > file, the old class is the one that is actually running. I'm sure the jar
> > file was created correctly because when I run the jar file directly using
> > "java -jar", it runs the correct updated class. This problem only happens
> > when using hadoop. I think it caches the old class somewhere. I tried to
> > restart my machine to make sure all tmp files are cleared but still the
> same
> > problem. I even went further by opening the jar file and deleting the
> main
> > class. Even after deleting the class, hadoop still runs the old class. I
> > removed all classes from the jar file and left only the META-INF files
> and
> > it still executes the old class.
> >
> > I must have did something wrong in the last few days that caused this
> > problem to happen but I really can't figure out what the problem is. The
> > only thing I remember is that I created another hadoop installation that
> > runs in different ports to try different things in both clusters.
> However, I
> > removed all traces of the other binary distribution and I'm currently
> > running the jar file without any hadoop processes running. So, there is
> no
> > actual cluster running here.
> >
> > Please help me.
> >
> > Thanks
> > Ahmed
> >
> > Best regards,
> > Ahmed Eldawy
>
>
>
> --
> Harsh J
>

Re: Hadoop running the incorrect class

Posted by Ahmed Eldawy <as...@gmail.com>.
Thanks Harsh. JarFinder helped me locating the guilty jar file. It was in
the hadoop class path indeed but I didn't think it has a copy of the main
class.
Thanks for your help.

Ahmed

Best regards,
Ahmed Eldawy


On Thu, May 16, 2013 at 5:56 PM, Harsh J <ha...@cloudera.com> wrote:

> Check your "hadoop classpath" output - check on the output if your jar
> was placed on it directly.
>
> Alternatively, use a tool such as
> https://github.com/mreid-moz/JarFinder, etc. to help you locate the
> offending jar or class bits.
>
> On Fri, May 17, 2013 at 2:29 AM, Ahmed Eldawy <as...@gmail.com> wrote:
> > Hi all,
> >   I'm having a very silly problem that is making me pull the hair out of
> my
> > head. I created a program and generated a jar out of it. The program was
> > running fine for a long time (months) and I was updating it regularly and
> > everything was going fine. Just yesterday, I started to have a very weird
> > case. I update my program, create the jar file, but when running the new
> jar
> > file, the old class is the one that is actually running. I'm sure the jar
> > file was created correctly because when I run the jar file directly using
> > "java -jar", it runs the correct updated class. This problem only happens
> > when using hadoop. I think it caches the old class somewhere. I tried to
> > restart my machine to make sure all tmp files are cleared but still the
> same
> > problem. I even went further by opening the jar file and deleting the
> main
> > class. Even after deleting the class, hadoop still runs the old class. I
> > removed all classes from the jar file and left only the META-INF files
> and
> > it still executes the old class.
> >
> > I must have did something wrong in the last few days that caused this
> > problem to happen but I really can't figure out what the problem is. The
> > only thing I remember is that I created another hadoop installation that
> > runs in different ports to try different things in both clusters.
> However, I
> > removed all traces of the other binary distribution and I'm currently
> > running the jar file without any hadoop processes running. So, there is
> no
> > actual cluster running here.
> >
> > Please help me.
> >
> > Thanks
> > Ahmed
> >
> > Best regards,
> > Ahmed Eldawy
>
>
>
> --
> Harsh J
>

Re: Hadoop running the incorrect class

Posted by Ahmed Eldawy <as...@gmail.com>.
Thanks Harsh. JarFinder helped me locating the guilty jar file. It was in
the hadoop class path indeed but I didn't think it has a copy of the main
class.
Thanks for your help.

Ahmed

Best regards,
Ahmed Eldawy


On Thu, May 16, 2013 at 5:56 PM, Harsh J <ha...@cloudera.com> wrote:

> Check your "hadoop classpath" output - check on the output if your jar
> was placed on it directly.
>
> Alternatively, use a tool such as
> https://github.com/mreid-moz/JarFinder, etc. to help you locate the
> offending jar or class bits.
>
> On Fri, May 17, 2013 at 2:29 AM, Ahmed Eldawy <as...@gmail.com> wrote:
> > Hi all,
> >   I'm having a very silly problem that is making me pull the hair out of
> my
> > head. I created a program and generated a jar out of it. The program was
> > running fine for a long time (months) and I was updating it regularly and
> > everything was going fine. Just yesterday, I started to have a very weird
> > case. I update my program, create the jar file, but when running the new
> jar
> > file, the old class is the one that is actually running. I'm sure the jar
> > file was created correctly because when I run the jar file directly using
> > "java -jar", it runs the correct updated class. This problem only happens
> > when using hadoop. I think it caches the old class somewhere. I tried to
> > restart my machine to make sure all tmp files are cleared but still the
> same
> > problem. I even went further by opening the jar file and deleting the
> main
> > class. Even after deleting the class, hadoop still runs the old class. I
> > removed all classes from the jar file and left only the META-INF files
> and
> > it still executes the old class.
> >
> > I must have did something wrong in the last few days that caused this
> > problem to happen but I really can't figure out what the problem is. The
> > only thing I remember is that I created another hadoop installation that
> > runs in different ports to try different things in both clusters.
> However, I
> > removed all traces of the other binary distribution and I'm currently
> > running the jar file without any hadoop processes running. So, there is
> no
> > actual cluster running here.
> >
> > Please help me.
> >
> > Thanks
> > Ahmed
> >
> > Best regards,
> > Ahmed Eldawy
>
>
>
> --
> Harsh J
>

Re: Hadoop running the incorrect class

Posted by Ahmed Eldawy <as...@gmail.com>.
Thanks Harsh. JarFinder helped me locating the guilty jar file. It was in
the hadoop class path indeed but I didn't think it has a copy of the main
class.
Thanks for your help.

Ahmed

Best regards,
Ahmed Eldawy


On Thu, May 16, 2013 at 5:56 PM, Harsh J <ha...@cloudera.com> wrote:

> Check your "hadoop classpath" output - check on the output if your jar
> was placed on it directly.
>
> Alternatively, use a tool such as
> https://github.com/mreid-moz/JarFinder, etc. to help you locate the
> offending jar or class bits.
>
> On Fri, May 17, 2013 at 2:29 AM, Ahmed Eldawy <as...@gmail.com> wrote:
> > Hi all,
> >   I'm having a very silly problem that is making me pull the hair out of
> my
> > head. I created a program and generated a jar out of it. The program was
> > running fine for a long time (months) and I was updating it regularly and
> > everything was going fine. Just yesterday, I started to have a very weird
> > case. I update my program, create the jar file, but when running the new
> jar
> > file, the old class is the one that is actually running. I'm sure the jar
> > file was created correctly because when I run the jar file directly using
> > "java -jar", it runs the correct updated class. This problem only happens
> > when using hadoop. I think it caches the old class somewhere. I tried to
> > restart my machine to make sure all tmp files are cleared but still the
> same
> > problem. I even went further by opening the jar file and deleting the
> main
> > class. Even after deleting the class, hadoop still runs the old class. I
> > removed all classes from the jar file and left only the META-INF files
> and
> > it still executes the old class.
> >
> > I must have did something wrong in the last few days that caused this
> > problem to happen but I really can't figure out what the problem is. The
> > only thing I remember is that I created another hadoop installation that
> > runs in different ports to try different things in both clusters.
> However, I
> > removed all traces of the other binary distribution and I'm currently
> > running the jar file without any hadoop processes running. So, there is
> no
> > actual cluster running here.
> >
> > Please help me.
> >
> > Thanks
> > Ahmed
> >
> > Best regards,
> > Ahmed Eldawy
>
>
>
> --
> Harsh J
>

Re: Hadoop running the incorrect class

Posted by Harsh J <ha...@cloudera.com>.
Check your "hadoop classpath" output - check on the output if your jar
was placed on it directly.

Alternatively, use a tool such as
https://github.com/mreid-moz/JarFinder, etc. to help you locate the
offending jar or class bits.

On Fri, May 17, 2013 at 2:29 AM, Ahmed Eldawy <as...@gmail.com> wrote:
> Hi all,
>   I'm having a very silly problem that is making me pull the hair out of my
> head. I created a program and generated a jar out of it. The program was
> running fine for a long time (months) and I was updating it regularly and
> everything was going fine. Just yesterday, I started to have a very weird
> case. I update my program, create the jar file, but when running the new jar
> file, the old class is the one that is actually running. I'm sure the jar
> file was created correctly because when I run the jar file directly using
> "java -jar", it runs the correct updated class. This problem only happens
> when using hadoop. I think it caches the old class somewhere. I tried to
> restart my machine to make sure all tmp files are cleared but still the same
> problem. I even went further by opening the jar file and deleting the main
> class. Even after deleting the class, hadoop still runs the old class. I
> removed all classes from the jar file and left only the META-INF files and
> it still executes the old class.
>
> I must have did something wrong in the last few days that caused this
> problem to happen but I really can't figure out what the problem is. The
> only thing I remember is that I created another hadoop installation that
> runs in different ports to try different things in both clusters. However, I
> removed all traces of the other binary distribution and I'm currently
> running the jar file without any hadoop processes running. So, there is no
> actual cluster running here.
>
> Please help me.
>
> Thanks
> Ahmed
>
> Best regards,
> Ahmed Eldawy



-- 
Harsh J

Re: Hadoop running the incorrect class

Posted by Harsh J <ha...@cloudera.com>.
Check your "hadoop classpath" output - check on the output if your jar
was placed on it directly.

Alternatively, use a tool such as
https://github.com/mreid-moz/JarFinder, etc. to help you locate the
offending jar or class bits.

On Fri, May 17, 2013 at 2:29 AM, Ahmed Eldawy <as...@gmail.com> wrote:
> Hi all,
>   I'm having a very silly problem that is making me pull the hair out of my
> head. I created a program and generated a jar out of it. The program was
> running fine for a long time (months) and I was updating it regularly and
> everything was going fine. Just yesterday, I started to have a very weird
> case. I update my program, create the jar file, but when running the new jar
> file, the old class is the one that is actually running. I'm sure the jar
> file was created correctly because when I run the jar file directly using
> "java -jar", it runs the correct updated class. This problem only happens
> when using hadoop. I think it caches the old class somewhere. I tried to
> restart my machine to make sure all tmp files are cleared but still the same
> problem. I even went further by opening the jar file and deleting the main
> class. Even after deleting the class, hadoop still runs the old class. I
> removed all classes from the jar file and left only the META-INF files and
> it still executes the old class.
>
> I must have did something wrong in the last few days that caused this
> problem to happen but I really can't figure out what the problem is. The
> only thing I remember is that I created another hadoop installation that
> runs in different ports to try different things in both clusters. However, I
> removed all traces of the other binary distribution and I'm currently
> running the jar file without any hadoop processes running. So, there is no
> actual cluster running here.
>
> Please help me.
>
> Thanks
> Ahmed
>
> Best regards,
> Ahmed Eldawy



-- 
Harsh J

Re: Hadoop running the incorrect class

Posted by Harsh J <ha...@cloudera.com>.
Check your "hadoop classpath" output - check on the output if your jar
was placed on it directly.

Alternatively, use a tool such as
https://github.com/mreid-moz/JarFinder, etc. to help you locate the
offending jar or class bits.

On Fri, May 17, 2013 at 2:29 AM, Ahmed Eldawy <as...@gmail.com> wrote:
> Hi all,
>   I'm having a very silly problem that is making me pull the hair out of my
> head. I created a program and generated a jar out of it. The program was
> running fine for a long time (months) and I was updating it regularly and
> everything was going fine. Just yesterday, I started to have a very weird
> case. I update my program, create the jar file, but when running the new jar
> file, the old class is the one that is actually running. I'm sure the jar
> file was created correctly because when I run the jar file directly using
> "java -jar", it runs the correct updated class. This problem only happens
> when using hadoop. I think it caches the old class somewhere. I tried to
> restart my machine to make sure all tmp files are cleared but still the same
> problem. I even went further by opening the jar file and deleting the main
> class. Even after deleting the class, hadoop still runs the old class. I
> removed all classes from the jar file and left only the META-INF files and
> it still executes the old class.
>
> I must have did something wrong in the last few days that caused this
> problem to happen but I really can't figure out what the problem is. The
> only thing I remember is that I created another hadoop installation that
> runs in different ports to try different things in both clusters. However, I
> removed all traces of the other binary distribution and I'm currently
> running the jar file without any hadoop processes running. So, there is no
> actual cluster running here.
>
> Please help me.
>
> Thanks
> Ahmed
>
> Best regards,
> Ahmed Eldawy



-- 
Harsh J

Re: Hadoop running the incorrect class

Posted by Harsh J <ha...@cloudera.com>.
Check your "hadoop classpath" output - check on the output if your jar
was placed on it directly.

Alternatively, use a tool such as
https://github.com/mreid-moz/JarFinder, etc. to help you locate the
offending jar or class bits.

On Fri, May 17, 2013 at 2:29 AM, Ahmed Eldawy <as...@gmail.com> wrote:
> Hi all,
>   I'm having a very silly problem that is making me pull the hair out of my
> head. I created a program and generated a jar out of it. The program was
> running fine for a long time (months) and I was updating it regularly and
> everything was going fine. Just yesterday, I started to have a very weird
> case. I update my program, create the jar file, but when running the new jar
> file, the old class is the one that is actually running. I'm sure the jar
> file was created correctly because when I run the jar file directly using
> "java -jar", it runs the correct updated class. This problem only happens
> when using hadoop. I think it caches the old class somewhere. I tried to
> restart my machine to make sure all tmp files are cleared but still the same
> problem. I even went further by opening the jar file and deleting the main
> class. Even after deleting the class, hadoop still runs the old class. I
> removed all classes from the jar file and left only the META-INF files and
> it still executes the old class.
>
> I must have did something wrong in the last few days that caused this
> problem to happen but I really can't figure out what the problem is. The
> only thing I remember is that I created another hadoop installation that
> runs in different ports to try different things in both clusters. However, I
> removed all traces of the other binary distribution and I'm currently
> running the jar file without any hadoop processes running. So, there is no
> actual cluster running here.
>
> Please help me.
>
> Thanks
> Ahmed
>
> Best regards,
> Ahmed Eldawy



-- 
Harsh J