You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Edward Capriolo <ed...@gmail.com> on 2015/06/07 17:06:31 UTC

Hive-1.2.0 does not work with stock hadoop 2.6.0

[edward@jackintosh apache-hive-1.2.0-bin]$ export
HADOOP_HOME=/home/edward/Downloads/hadoop-2.6.0
[edward@jackintosh apache-hive-1.2.0-bin]$ bin/hive

Logging initialized using configuration in
jar:file:/home/edward/Downloads/apache-hive-1.2.0-bin/lib/hive-common-1.2.0.jar!/hive-log4j.properties
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but
interface was expected
    at jline.TerminalFactory.create(TerminalFactory.java:101)
    at jline.TerminalFactory.get(TerminalFactory.java:158)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
    at
org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
    at
org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
    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:601)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found
class jline.Terminal, but interface was expected
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
    at
org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
    at
org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
    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:601)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

RE: Hive-1.2.0 does not work with stock hadoop 2.6.0

Posted by Mich Talebzadeh <mi...@peridale.co.uk>.
Hi Ed,

 

Where is your hive install in bin/hive?

 

I thought the norm is to install it under 

 

echo $HIVE_HOME

/usr/lib/hive

 

Anyway if you are running hive on the same host that Hadoop running, you should have no problem. 

 

hduser@rhes564::/home/hduser> hive

 

Logging initialized using configuration in jar:file:/usr/lib/hive/lib/hive-common-0.14.0.jar!/hive-log4j.properties

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in [jar:file:/home/hduser/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/usr/lib/hive/lib/hive-jdbc-0.14.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

hive>

 

Have you defined your hive environment file to include Hadoop env?

 

#HADOOP VARIABLES START

export HADOOP_HOME=/home/hduser/hadoop-2.6.0

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export HADOOP_CLIENT_OPTS="-Xmx2g"

#HADOOP VARIABLES END

 

export HIVE_HOME=/usr/lib/hive

export PATH=/$HIVE_HOME/bin:$PATH

 

unset CLASSPATH

CLASSPATH=.:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.0-tests.jar:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.0.jar:hadoop-nfs-2.6.0.jar:$HIVE_HOME/conf

export CLASSPATH

for i in ${HIVE_HOME}/lib/*.jar ; do

    CLASSPATH=$CLASSPATH:$i

done

 

HTH

 

 

Mich Talebzadeh

 

http://talebzadehmich.wordpress.com

 

Author of the books "A Practitioner’s Guide to Upgrading to Sybase ASE 15", ISBN 978-0-9563693-0-7. 

co-author "Sybase Transact SQL Guidelines Best Practices", ISBN 978-0-9759693-0-4

Publications due shortly:

Creating in-memory Data Grid for Trading Systems with Oracle TimesTen and Coherence Cache

Oracle and Sybase, Concepts and Contrasts, ISBN: 978-0-9563693-1-4, volume one out shortly

 

NOTE: The information in this email is proprietary and confidential. This message is for the designated recipient only, if you are not the intended recipient, you should destroy it immediately. Any information in this message shall not be understood as given or endorsed by Peridale Ltd, its subsidiaries or their employees, unless expressly so stated. It is the responsibility of the recipient to ensure that this email is virus free, therefore neither Peridale Ltd, its subsidiaries nor their employees accept any responsibility.

 

From: Edward Capriolo [mailto:edlinuxguru@gmail.com] 
Sent: 07 June 2015 16:13
To: user@hive.apache.org
Subject: Re: Hive-1.2.0 does not work with stock hadoop 2.6.0

 

Should we add
HADOOP_USER_CLASSPATH_FIRST=true

to the hive scripts?

 

On Sun, Jun 7, 2015 at 11:06 AM, Edward Capriolo <ed...@gmail.com> wrote:

[edward@jackintosh apache-hive-1.2.0-bin]$ export HADOOP_HOME=/home/edward/Downloads/hadoop-2.6.0
[edward@jackintosh apache-hive-1.2.0-bin]$ bin/hive

Logging initialized using configuration in jar:file:/home/edward/Downloads/apache-hive-1.2.0-bin/lib/hive-common-1.2.0.jar!/hive-log4j.properties
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
    at jline.TerminalFactory.create(TerminalFactory.java:101)
    at jline.TerminalFactory.get(TerminalFactory.java:158)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
    at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
    at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
    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:601)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
    at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
    at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
    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:601)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

 


Re: Hive-1.2.0 does not work with stock hadoop 2.6.0

Posted by Edward Capriolo <ed...@gmail.com>.
Should we add
HADOOP_USER_CLASSPATH_FIRST=true

to the hive scripts?

On Sun, Jun 7, 2015 at 11:06 AM, Edward Capriolo <ed...@gmail.com>
wrote:

> [edward@jackintosh apache-hive-1.2.0-bin]$ export
> HADOOP_HOME=/home/edward/Downloads/hadoop-2.6.0
> [edward@jackintosh apache-hive-1.2.0-bin]$ bin/hive
>
> Logging initialized using configuration in
> jar:file:/home/edward/Downloads/apache-hive-1.2.0-bin/lib/hive-common-1.2.0.jar!/hive-log4j.properties
> [ERROR] Terminal initialization failed; falling back to unsupported
> java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but
> interface was expected
>     at jline.TerminalFactory.create(TerminalFactory.java:101)
>     at jline.TerminalFactory.get(TerminalFactory.java:158)
>     at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
>     at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
>     at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
>     at
> org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
>     at
> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
>     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
>     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
>     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:601)
>     at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
>     at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
>
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Found
> class jline.Terminal, but interface was expected
>     at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
>     at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
>     at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
>     at
> org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
>     at
> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
>     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
>     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
>     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:601)
>     at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
>     at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
>
>