You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kylin.apache.org by wu lihu <ro...@gmail.com> on 2017/03/17 08:38:12 UTC

kylin 无法加载hive classpath 内得lib

Hi All
    我是用得 AWS EMR, 我把JSON-SERDE 得 jar 加入了 hive 得 classpath 里面了,修改了
find-hive-dependency.sh ,把这个JAR 得路径也加入进去了。可是还是加载不了 hivemeta  报错
 Caused by: MetaException(message:java.lang.ClassNotFoundException
Class org.openx.data.jsonserde.JsonSerDe not found)

但是我在 System tab 里面可以看到
/usr/lib/hive/lib/json-serde-1.3.8-SNAPSHOT-jar-with-dependencies.jar
在classpath 里面。 请问这个怎么解决?

Re: kylin 无法加载hive classpath 内得lib

Posted by Li Yang <li...@apache.org>.
> The Exception threw out from the kylin process, and the EMR version is
5.0.0

Then you could analyze the "bin/find-hive-dependency.sh" to see if it
catches the right hive classpath in your env.

Cheers
Yang


On Tue, Mar 21, 2017 at 11:17 AM, wu lihu <ro...@gmail.com> wrote:

> one thing needs to be reminded, if I use Hive CLI, then everything is
> great.
>
> 2017-03-21 11:13 GMT+08:00 wu lihu <ro...@gmail.com>:
> > The whole stacktrace like below :
> > Caused by: MetaException(message:java.lang.ClassNotFoundException
> > Class org.openx.data.jsonserde.JsonSerDe not found)
> >         at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_
> fields_result$get_fields_resultStandardScheme.read(ThriftHive
> > Metastore.java:35482)
> >         at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_
> fields_result$get_fields_resultStandardScheme.read(ThriftHive
> > Metastore.java:35449)
> >         at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_
> fields_result.read(ThriftHiveMetastore.java:35375)
> >         at org.apache.thrift.TServiceClient.receiveBase(
> TServiceClient.java:86)
> >         at org.apache.hadoop.hive.metastore.api.
> ThriftHiveMetastore$Client.recv_get_fields(ThriftHiveMetastore.java:1017)
> >         at org.apache.hadoop.hive.metastore.api.
> ThriftHiveMetastore$Client.get_fields(ThriftHiveMetastore.java:1003)
> >         at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.
> getFields(HiveMetaStoreClient.java:1497)
> >         at org.apache.kylin.source.hive.CLIHiveClient.getHiveTableMeta(
> CLIHiveClient.java:80)
> >         at org.apache.kylin.source.hive.HiveSourceTableLoader.
> extractHiveTables(HiveSourceTableLoader.java:86)
> >         ... 84 more
> >
> > seems like it caused by the hive thrift service read the wrong
> > metastore? or the state of the  metastore has incorrect reference ????
> >
> > 2017-03-21 11:04 GMT+08:00 wu lihu <ro...@gmail.com>:
> >> Hi Li Yang & ShaoFeng
> >>     The Exception threw out from the kylin process, and the EMR
> >> version is  5.0.0
> >>
> >> 2017-03-21 2:59 GMT+08:00 Li Yang <li...@apache.org>:
> >>> Also is the ClassNotFoundException from Kylin process or from MR
> process?
> >>> That makes a difference.
> >>>
> >>> On Mon, Mar 20, 2017 at 4:24 PM, ShaoFeng Shi <sh...@apache.org>
> >>> wrote:
> >>>
> >>>> Which version of EMR are you running? In my experience if using EMR,
> there
> >>>> is no additional configuration for Kylin; just download and run
> "kylin.sh
> >>>> start" will work.
> >>>>
> >>>> 2017-03-17 16:38 GMT+08:00 wu lihu <ro...@gmail.com>:
> >>>>
> >>>> > Hi All
> >>>> >     我是用得 AWS EMR, 我把JSON-SERDE 得 jar 加入了 hive 得 classpath 里面了,修改了
> >>>> > find-hive-dependency.sh ,把这个JAR 得路径也加入进去了。可是还是加载不了 hivemeta  报错
> >>>> >  Caused by: MetaException(message:java.lang.ClassNotFoundException
> >>>> > Class org.openx.data.jsonserde.JsonSerDe not found)
> >>>> >
> >>>> > 但是我在 System tab 里面可以看到
> >>>> > /usr/lib/hive/lib/json-serde-1.3.8-SNAPSHOT-jar-with-
> dependencies.jar
> >>>> > 在classpath 里面。 请问这个怎么解决?
> >>>> >
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Best regards,
> >>>>
> >>>> Shaofeng Shi 史少锋
> >>>>
>

Re: kylin 无法加载hive classpath 内得lib

Posted by wu lihu <ro...@gmail.com>.
one thing needs to be reminded, if I use Hive CLI, then everything is great.

2017-03-21 11:13 GMT+08:00 wu lihu <ro...@gmail.com>:
> The whole stacktrace like below :
> Caused by: MetaException(message:java.lang.ClassNotFoundException
> Class org.openx.data.jsonserde.JsonSerDe not found)
>         at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_fields_result$get_fields_resultStandardScheme.read(ThriftHive
> Metastore.java:35482)
>         at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_fields_result$get_fields_resultStandardScheme.read(ThriftHive
> Metastore.java:35449)
>         at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_fields_result.read(ThriftHiveMetastore.java:35375)
>         at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:86)
>         at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_fields(ThriftHiveMetastore.java:1017)
>         at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_fields(ThriftHiveMetastore.java:1003)
>         at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getFields(HiveMetaStoreClient.java:1497)
>         at org.apache.kylin.source.hive.CLIHiveClient.getHiveTableMeta(CLIHiveClient.java:80)
>         at org.apache.kylin.source.hive.HiveSourceTableLoader.extractHiveTables(HiveSourceTableLoader.java:86)
>         ... 84 more
>
> seems like it caused by the hive thrift service read the wrong
> metastore? or the state of the  metastore has incorrect reference ????
>
> 2017-03-21 11:04 GMT+08:00 wu lihu <ro...@gmail.com>:
>> Hi Li Yang & ShaoFeng
>>     The Exception threw out from the kylin process, and the EMR
>> version is  5.0.0
>>
>> 2017-03-21 2:59 GMT+08:00 Li Yang <li...@apache.org>:
>>> Also is the ClassNotFoundException from Kylin process or from MR process?
>>> That makes a difference.
>>>
>>> On Mon, Mar 20, 2017 at 4:24 PM, ShaoFeng Shi <sh...@apache.org>
>>> wrote:
>>>
>>>> Which version of EMR are you running? In my experience if using EMR, there
>>>> is no additional configuration for Kylin; just download and run "kylin.sh
>>>> start" will work.
>>>>
>>>> 2017-03-17 16:38 GMT+08:00 wu lihu <ro...@gmail.com>:
>>>>
>>>> > Hi All
>>>> >     我是用得 AWS EMR, 我把JSON-SERDE 得 jar 加入了 hive 得 classpath 里面了,修改了
>>>> > find-hive-dependency.sh ,把这个JAR 得路径也加入进去了。可是还是加载不了 hivemeta  报错
>>>> >  Caused by: MetaException(message:java.lang.ClassNotFoundException
>>>> > Class org.openx.data.jsonserde.JsonSerDe not found)
>>>> >
>>>> > 但是我在 System tab 里面可以看到
>>>> > /usr/lib/hive/lib/json-serde-1.3.8-SNAPSHOT-jar-with-dependencies.jar
>>>> > 在classpath 里面。 请问这个怎么解决?
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>>
>>>> Shaofeng Shi 史少锋
>>>>

Re: kylin 无法加载hive classpath 内得lib

Posted by wu lihu <ro...@gmail.com>.
The whole stacktrace like below :
Caused by: MetaException(message:java.lang.ClassNotFoundException
Class org.openx.data.jsonserde.JsonSerDe not found)
        at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_fields_result$get_fields_resultStandardScheme.read(ThriftHive
Metastore.java:35482)
        at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_fields_result$get_fields_resultStandardScheme.read(ThriftHive
Metastore.java:35449)
        at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_fields_result.read(ThriftHiveMetastore.java:35375)
        at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:86)
        at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_fields(ThriftHiveMetastore.java:1017)
        at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_fields(ThriftHiveMetastore.java:1003)
        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getFields(HiveMetaStoreClient.java:1497)
        at org.apache.kylin.source.hive.CLIHiveClient.getHiveTableMeta(CLIHiveClient.java:80)
        at org.apache.kylin.source.hive.HiveSourceTableLoader.extractHiveTables(HiveSourceTableLoader.java:86)
        ... 84 more

seems like it caused by the hive thrift service read the wrong
metastore? or the state of the  metastore has incorrect reference ????

2017-03-21 11:04 GMT+08:00 wu lihu <ro...@gmail.com>:
> Hi Li Yang & ShaoFeng
>     The Exception threw out from the kylin process, and the EMR
> version is  5.0.0
>
> 2017-03-21 2:59 GMT+08:00 Li Yang <li...@apache.org>:
>> Also is the ClassNotFoundException from Kylin process or from MR process?
>> That makes a difference.
>>
>> On Mon, Mar 20, 2017 at 4:24 PM, ShaoFeng Shi <sh...@apache.org>
>> wrote:
>>
>>> Which version of EMR are you running? In my experience if using EMR, there
>>> is no additional configuration for Kylin; just download and run "kylin.sh
>>> start" will work.
>>>
>>> 2017-03-17 16:38 GMT+08:00 wu lihu <ro...@gmail.com>:
>>>
>>> > Hi All
>>> >     我是用得 AWS EMR, 我把JSON-SERDE 得 jar 加入了 hive 得 classpath 里面了,修改了
>>> > find-hive-dependency.sh ,把这个JAR 得路径也加入进去了。可是还是加载不了 hivemeta  报错
>>> >  Caused by: MetaException(message:java.lang.ClassNotFoundException
>>> > Class org.openx.data.jsonserde.JsonSerDe not found)
>>> >
>>> > 但是我在 System tab 里面可以看到
>>> > /usr/lib/hive/lib/json-serde-1.3.8-SNAPSHOT-jar-with-dependencies.jar
>>> > 在classpath 里面。 请问这个怎么解决?
>>> >
>>>
>>>
>>>
>>> --
>>> Best regards,
>>>
>>> Shaofeng Shi 史少锋
>>>

Re: kylin 无法加载hive classpath 内得lib

Posted by wu lihu <ro...@gmail.com>.
Hi Li Yang & ShaoFeng
    The Exception threw out from the kylin process, and the EMR
version is  5.0.0

2017-03-21 2:59 GMT+08:00 Li Yang <li...@apache.org>:
> Also is the ClassNotFoundException from Kylin process or from MR process?
> That makes a difference.
>
> On Mon, Mar 20, 2017 at 4:24 PM, ShaoFeng Shi <sh...@apache.org>
> wrote:
>
>> Which version of EMR are you running? In my experience if using EMR, there
>> is no additional configuration for Kylin; just download and run "kylin.sh
>> start" will work.
>>
>> 2017-03-17 16:38 GMT+08:00 wu lihu <ro...@gmail.com>:
>>
>> > Hi All
>> >     我是用得 AWS EMR, 我把JSON-SERDE 得 jar 加入了 hive 得 classpath 里面了,修改了
>> > find-hive-dependency.sh ,把这个JAR 得路径也加入进去了。可是还是加载不了 hivemeta  报错
>> >  Caused by: MetaException(message:java.lang.ClassNotFoundException
>> > Class org.openx.data.jsonserde.JsonSerDe not found)
>> >
>> > 但是我在 System tab 里面可以看到
>> > /usr/lib/hive/lib/json-serde-1.3.8-SNAPSHOT-jar-with-dependencies.jar
>> > 在classpath 里面。 请问这个怎么解决?
>> >
>>
>>
>>
>> --
>> Best regards,
>>
>> Shaofeng Shi 史少锋
>>

Re: kylin 无法加载hive classpath 内得lib

Posted by Li Yang <li...@apache.org>.
Also is the ClassNotFoundException from Kylin process or from MR process?
That makes a difference.

On Mon, Mar 20, 2017 at 4:24 PM, ShaoFeng Shi <sh...@apache.org>
wrote:

> Which version of EMR are you running? In my experience if using EMR, there
> is no additional configuration for Kylin; just download and run "kylin.sh
> start" will work.
>
> 2017-03-17 16:38 GMT+08:00 wu lihu <ro...@gmail.com>:
>
> > Hi All
> >     我是用得 AWS EMR, 我把JSON-SERDE 得 jar 加入了 hive 得 classpath 里面了,修改了
> > find-hive-dependency.sh ,把这个JAR 得路径也加入进去了。可是还是加载不了 hivemeta  报错
> >  Caused by: MetaException(message:java.lang.ClassNotFoundException
> > Class org.openx.data.jsonserde.JsonSerDe not found)
> >
> > 但是我在 System tab 里面可以看到
> > /usr/lib/hive/lib/json-serde-1.3.8-SNAPSHOT-jar-with-dependencies.jar
> > 在classpath 里面。 请问这个怎么解决?
> >
>
>
>
> --
> Best regards,
>
> Shaofeng Shi 史少锋
>

Re: kylin 无法加载hive classpath 内得lib

Posted by ShaoFeng Shi <sh...@apache.org>.
Which version of EMR are you running? In my experience if using EMR, there
is no additional configuration for Kylin; just download and run "kylin.sh
start" will work.

2017-03-17 16:38 GMT+08:00 wu lihu <ro...@gmail.com>:

> Hi All
>     我是用得 AWS EMR, 我把JSON-SERDE 得 jar 加入了 hive 得 classpath 里面了,修改了
> find-hive-dependency.sh ,把这个JAR 得路径也加入进去了。可是还是加载不了 hivemeta  报错
>  Caused by: MetaException(message:java.lang.ClassNotFoundException
> Class org.openx.data.jsonserde.JsonSerDe not found)
>
> 但是我在 System tab 里面可以看到
> /usr/lib/hive/lib/json-serde-1.3.8-SNAPSHOT-jar-with-dependencies.jar
> 在classpath 里面。 请问这个怎么解决?
>



-- 
Best regards,

Shaofeng Shi 史少锋