Harsh J 2013-03-19, 16:19
Aji Janis 2013-03-19, 16:25
Harsh J 2013-03-19, 16:48
-Re: java.lang.NoSuchMethodError ThreadSafeClientConnManager
Harsh J 2013-03-19, 16:48
Depending on the version of Hadoop in use, you'd either set
mapreduce.user.classpath.first or mapreduce.job.user.classpath.first
in your Job's configuration as true before submitting the job.
This feature/parameter is not available in the Apache Hadoop 0.20.2
version, however. It was added in later so you'll have better luck
trying a more recent version.
On Tue, Mar 19, 2013 at 9:55 PM, Aji Janis <[EMAIL PROTECTED]> wrote:
> So I tried the replace commons-httpclient.jar with httpclient.jar on all
> nodes method and couldn't find a single node that had commons-httpclient
> which is why its very confusing that the zookeeper still shows that on the
> classpath.. like its cached somewhere? If it is, how do I flush it?
> But I like your option of:
> I'd instead generally recommend passing the dependencies you need as
> part of your job along with it via -libjars and such, and setting the
> MR option to have it take precedence over the hadoop-provided jars of
> the same kind.
> ... How do I do this?
> Thanks Harsh.
> On Tue, Mar 19, 2013 at 12:19 PM, Harsh J <[EMAIL PROTECTED]> wrote:
>> ZK is showing its runtime JVM classpath (from the JVM that invoked a
>> ZK client), and not the ZK server's classpath. The path reported is
>> the below, which is part of /opt/hadoop/lib itself:
>> Check for this jar's existence on all nodes and replace them with your
>> required version perhaps? I'm not sure if it will work but that seems
>> to be what you wish to try.
>> I'd instead generally recommend passing the dependencies you need as
>> part of your job along with it via -libjars and such, and setting the
>> MR option to have it take precedence over the hadoop-provided jars of
>> the same kind.
>> On Tue, Mar 19, 2013 at 9:42 PM, Aji Janis <[EMAIL PROTECTED]> wrote:
>> > Hello,
>> > I am getting the following syslog while running a mapreduce job on my
>> > cluster:
>> > 2013-03-19 11:00:37,465 INFO
>> > org.apache.solr.client.solrj.fimpl.HttpClientUtil: Creating new http
>> > client,
>> > config:
>> > 2013-03-19 11:00:37,477 INFO org.apache.hadoop.mapred.TaskLogsTruncater:
>> > Initializing logs' truncater with mapRetainSize=-1 and
>> > reduceRetainSize=-1
>> > 2013-03-19 11:00:37,550 INFO org.apache.hadoop.io.nativeio.NativeIO:
>> > Initialized cache for UID to User mapping with a cache timeout of 14400
>> > seconds.
>> > 2013-03-19 11:00:37,551 INFO org.apache.hadoop.io.nativeio.NativeIO: Got
>> > UserName hadoop for UID 8004 from the native implementation
>> > 2013-03-19 11:00:37,554 FATAL org.apache.hadoop.mapred.Child: Error
>> > running
>> > child : java.lang.NoSuchMethodError:
>> > org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager: method
>> > <init>()V not found
>> > at
>> > org.apache.solr.client.solrj.impl.HttpClientUtil.createClient(HttpClientUtil.java:103)
>> > at
>> > org.apache.solr.client.solrj.impl.CloudSolrServer.<init>(CloudSolrServer.java:83)
>> > I think the issue is that somewhere I have a wrong version of the
>> > httpclient
>> > jar (I need 4.0 or higher but I have a lower version somewhere). I say
>> > this
>> > because the zookeeper classpath in syslog shows a library that I can't
>> > find
>> > it in my cluster anywhere.
>> > Syslog showed the zookeeper classpath as follows:
>> > 2013-03-19 11:00:22,347 INFO org.apache.zookeeper.ZooKeeper: Client
>> > environment:java.class.path=/opt/hadoop/bin/../conf:
>> > /usr/java/default/lib/tools.jar:/opt/hadoop/bin/..:/opt/hadoop/bin/../hadoop-core-0.20.203.0.jar:
>> > /opt/hadoop/bin/../lib/aspectjrt-1.6.5.jar:/opt/hadoop/bin/../lib/aspectjtools-1.6.5.jar:
>> > /opt/hadoop/bin/../lib/commons-beanutils-1.7.0.jar:/opt/hadoop/bin/../lib/commons-beanutils-core-1.8.0.jar:
>> > /opt/hadoop/bin/../lib/commons-cli-1.2.jar:/opt/hadoop/bin/../lib/commons-codec-1.4.jar: