This is a "me too" post: we just ran into an identical problem setting
up a new cluster using CDH3b2.  This is all rather mystifying, because
all the correct libraries are there; in fact the hive command line
looks something like

/usr/java/jdk1.6.0_12/bin/java -Xmx256m -server
-Dhadoop.log.dir=/usr/lib/hadoop-0.20/logs
-Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/usr/lib/hadoop-0.20
-Dhadoop.id.str= -Dhadoop.root.logger=INFO,console
-Dhadoop.policy.file=hadoop-policy.xml -classpath
/usr/lib/hadoop-0.20/conf:/usr/java/jdk1.6.0_12/lib/tools.jar:/usr/lib/hadoop-0.20:/usr/lib/hadoop-0.20/hadoop-core-0.20.2+320.jar..................
 org.apache.hadoop.util.RunJar /usr/lib/hive/lib/hive-cli-0.5.0.jar
org.apache.hadoop.hive.cli.CliDriver

(note the presence of the hadoop-core.jar which contains the class in question)

If anyone has pointers on troubleshooting this, I'd appreciate it!

--Leo

On Tue, Sep 14, 2010 at 1:56 PM, Tianqiang  Li <peter...@gmail.com> wrote:
> Some more context: I run Hive on a client machine which is NOT one of the
> hadoop cluster nodes, I suppose Hive can run well and submit job from a
> client machine,  so I didn't change hadoop-env.sh on cluster nodes. On this
> client machine, hadoop java jobs and pig have been successfully submitted to
> cluster and processed.
>
> Regards,
> Peter Li
>
> On Tue, Sep 14, 2010 at 1:42 PM, Tianqiang Li <peter...@gmail.com> wrote:
>>
>> Hi, hive-users,
>> I am a new Hive users, install hive recently, when I type any
>> query-related command in Hive cli, it throws the exception, but create table
>> are ok:
>>
>> $ hive
>> Hive history file=/tmp/pli/hive_job_log_pli_201009141519_1503313446.txt
>> hive> create table test5(a int);
>> OK
>> Time taken: 2.551 seconds
>> hive> show tables;
>> OK
>> Failed with exception java.io.IOException:java.io.IOException: Cannot
>> create an instance of InputFormat class
>> org.apache.hadoop.mapred.TextInputFormat as specified in mapredWork!
>> Time taken: 0.09 seconds
>> hive>
>>
>> I searched on internet, and there are some info about hive's
>> HADOOP_CLASSPATH getting overwritten by some other tools in hadoop-env.sh, I
>> tried to use appending( export
>> HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:other_paths ), didn't fix the problem,
>> then I tried to copy the jar files of hadoop libraries (
>> hadoop-0.20.1+169.68-core.jar ) which include
>> org.apache.hadoop.mapred.TextInputFormat, to $HIVE_HOME/lib/, still the
>> problem remain the same, It looks like Hive doesn't know where hadoop's
>> libraries are, and failed to new a TextInputFormat object, are there someone
>> met this before? Any hints on how to work this around are welcome. Thanks.
>>
>> Here are some more context, I use hadoop 0.20.1+169.68 from cloudera CDH2,
>> and Hive 0.4/0.5 from CDH2/3, (both version for hive have the same issues),
>> here is the trace stack in log file.
>> ------
>> 2010-09-14 15:19:58,826 ERROR DataNucleus.Plugin
>> (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires
>> "org.eclipse.core.resources" but it cannot be resolved.
>> 2010-09-14 15:19:58,826 ERROR DataNucleus.Plugin
>> (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires
>> "org.eclipse.core.resources" but it cannot be resolved.
>> 2010-09-14 15:19:58,828 ERROR DataNucleus.Plugin
>> (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires
>> "org.eclipse.core.runtime" but it cannot be resolved.
>> 2010-09-14 15:19:58,828 ERROR DataNucleus.Plugin
>> (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires
>> "org.eclipse.core.runtime" but it cannot be resolved.
>> 2010-09-14 15:19:58,829 ERROR DataNucleus.Plugin
>> (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires
>> "org.eclipse.text" but it cannot be resolved.
>> 2010-09-14 15:19:58,829 ERROR DataNucleus.Plugin
>> (Log4JLogger.java:error(115)) - Bundle "org.eclipse.jdt.core" requires
>> "org.eclipse.text" but it cannot be resolved.
>> 2010-09-14 15:20:04,444 ERROR CliDriver
>> (SessionState.java:printError(279)) - Failed with exception
>> java.io.IOException:java.io.IOException: Cannot create an instance of
>> InputFormat class org.apache.hadoop.mapred.TextInputFormat as specified in
>> mapredWork!
>> java.io.IOException: java.io.IOException: Cannot create an instance of
>> InputFormat class org.apache.hadoop.mapred.TextInputFormat as specified in
>> mapredWork!
>>   at
>> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:273)
>>   at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:133)
>>   at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:440)
>>   at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:131)
>>   at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:181)
>>   at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:287)
>>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>   at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>   at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>   at java.lang.reflect.Method.invoke(Method.java:616)
>>   at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
>> Caused by: java.io.IOException: Cannot create an instance of InputFormat
>> class org.apache.hadoop.mapred.TextInputFormat as specified in mapredWork!
>>   at
>> org.apache.hadoop.hive.ql.exec.FetchOperator.getInputFormatFromCache(FetchOperator.java:113)
>>   at
>> org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:214)
>>   at
>> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:249)
>>
>> ----
>> My hadoop-env.sh :
>> export
>> HADOOP_CLASSPATH_OTHER=/usr/lib/hadoop-0.20/hadoop-0.20.1+169.68-core.jar:/usr/lib/hadoop-0.20/lib/commons-logging-1.0.4.jar:/usr/lib/hadoop-0.20/lib/*:/usr/lib/hadoop-0.20/*
>> export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}$:{HADOOP_CLASSPATH_OTHER}
>>
>>
>>
>>
>> Regards,
>> Peter Li
>
>

Reply via email to