kylin-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shaofeng SHI (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KYLIN-3129) Startup error on EMR 5.8+
Date Thu, 11 Jan 2018 05:48:00 GMT

    [ https://issues.apache.org/jira/browse/KYLIN-3129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16321732#comment-16321732
] 

Shaofeng SHI commented on KYLIN-3129:
-------------------------------------

Just exclude hive's jackson-datatype-joda-2.4.6.jar from Kylin's classpath will solve the
problem, fixed it in the find-hive-dependency.sh script: 

https://github.com/apache/kylin/commit/0162d8886ebe2b9fde98c995509754df26f19722

> Startup error on EMR 5.8+
> -------------------------
>
>                 Key: KYLIN-3129
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3129
>             Project: Kylin
>          Issue Type: Improvement
>          Components: Environment 
>            Reporter: Shaofeng SHI
>            Assignee: Shaofeng SHI
>             Fix For: v2.3.0
>
>
> When run "bin/kylin.sh start", it reports an NoSuchMethodError:
> {code}
> Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate
[com.fasterxml.jackson.datatype.joda.JodaModule]: Constructor threw exception; nested exception
is java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatter.withZoneUTC()Lorg/joda/time/format/DateTimeFormatter;
> 	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:154)
> 	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:102)
> 	at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.registerWellKnownModulesIfAvailable(Jackson2ObjectMapperBuilder.java:764)
> 	at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.configure(Jackson2ObjectMapperBuilder.java:607)
> 	at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:590)
> 	at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.<init>(MappingJackson2HttpMessageConverter.java:57)
> 	at org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.<init>(AllEncompassingFormHttpMessageConverter.java:61)
> 	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.<init>(RequestMappingHandlerAdapter.java:182)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> 	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
> 	... 28 more
> Caused by: java.lang.NoSuchMethodError: org.joda.time.format.DateTimeFormatter.withZoneUTC()Lorg/joda/time/format/DateTimeFormatter;
> 	at com.fasterxml.jackson.datatype.joda.ser.JodaDateSerializerBase.<clinit>(JodaDateSerializerBase.java:15)
> 	at com.fasterxml.jackson.datatype.joda.JodaModule.<init>(JodaModule.java:39)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> 	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
> 	... 40 more
> {code}
> After doing some investigation, found the DateTimeFormatter wasn't loaded from Kylin's
lib, but from:
> [Loaded org.joda.time.format.DateTimeFormatter from file:/usr/lib/hbase/lib/jruby-complete-1.6.8.jar]

> Then I remove that jar (this is a client node), restart Kylin again, this time the error
disappeared, by changed to another:
> {code}
> mv /usr/lib/hbase/lib/jruby-complete-1.6.8.jar /usr/lib/hbase/lib/jruby-complete-1.6.8.jar_
> {code}
> {code}
> Caused by: java.lang.ClassCastException: com.fasterxml.jackson.datatype.joda.JodaModule
cannot be cast to com.fasterxml.jackson.databind.Module
> at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.registerWellKnownModulesIfAvailable(Jackson2ObjectMapperBuilder.java:764)
> at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.configure(Jackson2ObjectMapperBuilder.java:607)
> at org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.build(Jackson2ObjectMapperBuilder.java:590)
> at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.(MappingJackson2HttpMessageConverter.java:57)
> at org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter.(AllEncompassingFormHttpMessageConverter.java:61)
> at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.(RequestMappingHandlerAdapter.java:182)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
> at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
> ... 28 more
> {code}
> Then I found it was caused by 
> [Loaded com.fasterxml.jackson.datatype.joda.JodaModule from file:/usr/lib/hive/lib/jackson-datatype-joda-2.4.6.jar]
> Then rename that jar:
> {code}
> mv /usr/lib/hive/lib/jackson-datatype-joda-2.4.6.jar /usr/lib/hive/lib/jackson-datatype-joda-2.4.6.jar_
> {code}
> Restart Kylin, then it works good.
> Please avoid doing this on EMR master node, as the impact to HBase/Hive is unknown. If
it is on a client node (no running service), it is okay.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message