You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Stepan Migunov <st...@firstlinesoftware.com> on 2018/03/27 08:46:57 UTC
Storage Handler for Apache Hive
Hi,
Phoenix 4.12.0-HBase-1.1, hadoop 2.6.4, hive 2.1.1
I have setup Hive for using external Phoenix tables. But after phoenix-hive.jar was included into the hive-site.xml, the hive console give exception on some operations (e.g. show databases or query with order by clause):
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/StopWatch
at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:314)
at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextSplits(FetchOperator.java:372)
at org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:304)
at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:459)
at org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:428)
at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:146)
at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:2098)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:252)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.StopWatch
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 19 more
Any suggestions are welcome.
Re: Storage Handler for Apache Hive
Posted by Jaanai <cl...@gmail.com>.
Hi , Stepan Migunov!
The Phoenix 4.12.0-HBase-1.1 depends on hadoop 2.7.1 version, you shoud run it on hadoop of higher version.
Re: Storage Handler for Apache Hive
Posted by Artem Ervits <ar...@gmail.com>.
Oh, I didn't realize you specified Phoenix 4.12 in your original question,
then answer is as yes, 2.7 is minimum as Jaanai pointed out. The other
option is to choose another phonenix version with Hadoop 2.6 and your
version of HBase. Though Hadoop 2.6 been out for years so it makes sense to
upgrade, it's time :).
On Tue, Mar 27, 2018, 7:12 AM Artem Ervits <ar...@gmail.com> wrote:
> I can't say for sure but in my experience, Hadoop was at the minimum on
> 2.7. I can't tell which minimum release of Phoenix 4.x this plugin was
> merged to but Jira says it affects v. 4.5 and for that release Hadoop 2.5
> was minimum. I also see Hive 2.1 supports Hadoop 2.6 so I have no other
> leads except for classpath issues, check if hadoop-common jar is available?
>
> On Tue, Mar 27, 2018, 5:45 AM Stepan Migunov <
> Stepan.Migunov@firstlinesoftware.com> wrote:
>
>> Thank you, Artem!
>>
>> Does it mean that Phoenix-Hive integration works with Hadoop >= 2.7 only?
>>
>>
>>
>>
>>
>> *From:* Artem Ervits [mailto:artemervits@gmail.com]
>> *Sent:* Tuesday, March 27, 2018 12:10 PM
>> *To:* user@phoenix.apache.org
>> *Subject:* Re: Storage Handler for Apache Hive
>>
>>
>>
>> Stepan, you're using version of Hadoop where StopWatch class is not
>> defined
>>
>>
>>
>>
>> https://github.com/apache/hadoop/tree/release-2.6.4-RC0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StopWatch.java
>>
>>
>>
>> If you at least go to Hadoop 2.7, this error will disappear
>>
>>
>>
>>
>> https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StopWatch.java
>>
>>
>>
>>
>>
>> On Tue, Mar 27, 2018, 4:47 AM Stepan Migunov <
>> stepan.migunov@firstlinesoftware.com> wrote:
>>
>> Hi,
>>
>> Phoenix 4.12.0-HBase-1.1, hadoop 2.6.4, hive 2.1.1
>>
>> I have setup Hive for using external Phoenix tables. But after
>> phoenix-hive.jar was included into the hive-site.xml, the hive console give
>> exception on some operations (e.g. show databases or query with order by
>> clause):
>>
>> Exception in thread "main" java.lang.NoClassDefFoundError:
>> org/apache/hadoop/util/StopWatch
>> at
>> org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:314)
>> at
>> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextSplits(FetchOperator.java:372)
>> at
>> org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:304)
>> at
>> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:459)
>> at
>> org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:428)
>> at
>> org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:146)
>> at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:2098)
>> at
>> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:252)
>> at
>> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183)
>> at
>> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399)
>> at
>> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776)
>> at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714)
>> at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:498)
>> at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
>> at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
>> Caused by: java.lang.ClassNotFoundException:
>> org.apache.hadoop.util.StopWatch
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>> ... 19 more
>>
>> Any suggestions are welcome.
>>
>>
Re: Storage Handler for Apache Hive
Posted by Artem Ervits <ar...@gmail.com>.
I can't say for sure but in my experience, Hadoop was at the minimum on
2.7. I can't tell which minimum release of Phoenix 4.x this plugin was
merged to but Jira says it affects v. 4.5 and for that release Hadoop 2.5
was minimum. I also see Hive 2.1 supports Hadoop 2.6 so I have no other
leads except for classpath issues, check if hadoop-common jar is available?
On Tue, Mar 27, 2018, 5:45 AM Stepan Migunov <
Stepan.Migunov@firstlinesoftware.com> wrote:
> Thank you, Artem!
>
> Does it mean that Phoenix-Hive integration works with Hadoop >= 2.7 only?
>
>
>
>
>
> *From:* Artem Ervits [mailto:artemervits@gmail.com]
> *Sent:* Tuesday, March 27, 2018 12:10 PM
> *To:* user@phoenix.apache.org
> *Subject:* Re: Storage Handler for Apache Hive
>
>
>
> Stepan, you're using version of Hadoop where StopWatch class is not defined
>
>
>
>
> https://github.com/apache/hadoop/tree/release-2.6.4-RC0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StopWatch.java
>
>
>
> If you at least go to Hadoop 2.7, this error will disappear
>
>
>
>
> https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StopWatch.java
>
>
>
>
>
> On Tue, Mar 27, 2018, 4:47 AM Stepan Migunov <
> stepan.migunov@firstlinesoftware.com> wrote:
>
> Hi,
>
> Phoenix 4.12.0-HBase-1.1, hadoop 2.6.4, hive 2.1.1
>
> I have setup Hive for using external Phoenix tables. But after
> phoenix-hive.jar was included into the hive-site.xml, the hive console give
> exception on some operations (e.g. show databases or query with order by
> clause):
>
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/apache/hadoop/util/StopWatch
> at
> org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:314)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextSplits(FetchOperator.java:372)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:304)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:459)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:428)
> at
> org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:146)
> at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:2098)
> at
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:252)
> at
> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183)
> at
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399)
> at
> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776)
> at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714)
> at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.hadoop.util.StopWatch
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> ... 19 more
>
> Any suggestions are welcome.
>
>
RE: Storage Handler for Apache Hive
Posted by Stepan Migunov <St...@firstlinesoftware.com>.
Thank you, Artem!
Does it mean that Phoenix-Hive integration works with Hadoop >= 2.7 only?
*From:* Artem Ervits [mailto:artemervits@gmail.com]
*Sent:* Tuesday, March 27, 2018 12:10 PM
*To:* user@phoenix.apache.org
*Subject:* Re: Storage Handler for Apache Hive
Stepan, you're using version of Hadoop where StopWatch class is not defined
https://github.com/apache/hadoop/tree/release-2.6.4-RC0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StopWatch.java
If you at least go to Hadoop 2.7, this error will disappear
https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StopWatch.java
On Tue, Mar 27, 2018, 4:47 AM Stepan Migunov <
stepan.migunov@firstlinesoftware.com> wrote:
Hi,
Phoenix 4.12.0-HBase-1.1, hadoop 2.6.4, hive 2.1.1
I have setup Hive for using external Phoenix tables. But after
phoenix-hive.jar was included into the hive-site.xml, the hive console give
exception on some operations (e.g. show databases or query with order by
clause):
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/hadoop/util/StopWatch
at
org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:314)
at
org.apache.hadoop.hive.ql.exec.FetchOperator.getNextSplits(FetchOperator.java:372)
at
org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:304)
at
org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:459)
at
org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:428)
at
org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:146)
at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:2098)
at
org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:252)
at
org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183)
at
org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399)
at
org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException:
org.apache.hadoop.util.StopWatch
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 19 more
Any suggestions are welcome.
Re: Storage Handler for Apache Hive
Posted by Artem Ervits <ar...@gmail.com>.
Stepan, you're using version of Hadoop where StopWatch class is not defined
https://github.com/apache/hadoop/tree/release-2.6.4-RC0/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StopWatch.java
If you at least go to Hadoop 2.7, this error will disappear
https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/StopWatch.java
On Tue, Mar 27, 2018, 4:47 AM Stepan Migunov <
stepan.migunov@firstlinesoftware.com> wrote:
> Hi,
>
> Phoenix 4.12.0-HBase-1.1, hadoop 2.6.4, hive 2.1.1
>
> I have setup Hive for using external Phoenix tables. But after
> phoenix-hive.jar was included into the hive-site.xml, the hive console give
> exception on some operations (e.g. show databases or query with order by
> clause):
>
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/apache/hadoop/util/StopWatch
> at
> org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:314)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextSplits(FetchOperator.java:372)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:304)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:459)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:428)
> at
> org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:146)
> at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:2098)
> at
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:252)
> at
> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:183)
> at
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399)
> at
> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:776)
> at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714)
> at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
> Caused by: java.lang.ClassNotFoundException:
> org.apache.hadoop.util.StopWatch
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> ... 19 more
>
> Any suggestions are welcome.
>
>
>