You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Shaofeng SHI (JIRA)" <ji...@apache.org> on 2016/11/11 00:52:59 UTC

[jira] [Resolved] (KYLIN-1089) Kylin failed to run on CDH with HBase 1.0

     [ https://issues.apache.org/jira/browse/KYLIN-1089?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shaofeng SHI resolved KYLIN-1089.
---------------------------------
    Resolution: Workaround

> Kylin failed to run on CDH with HBase 1.0
> -----------------------------------------
>
>                 Key: KYLIN-1089
>                 URL: https://issues.apache.org/jira/browse/KYLIN-1089
>             Project: Kylin
>          Issue Type: Bug
>          Components: Environment 
>    Affects Versions: 1.x-HBase1.1.3
>            Reporter: Shaofeng SHI
>            Assignee: Shaofeng SHI
>         Attachments: KYLIN-1089-support-CDH-5.5-hbase1.0.patch
>
>
> Clone kylin "1.x-HBase1.x" branch and then make a binary package, upload to a CDH environment like CDH 5.4.2 quickstart vm, "kylin.sh start" will throw exception as below:
> {code}
> Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'aclService' defined in file [/home/cloudera/kylin-1.1-incubating-SNAPSHOT/tomcat/webapps/kylin/WEB-INF/classes/org/apache/kylin/rest/service/AclService.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.kylin.rest.service.AclService]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/HColumnDescriptor;)Lorg/apache/hadoop/hbase/HTableDescriptor;
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:997)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:943)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
>         at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
>         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
>         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
>         at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
>         ... 116 more
> Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.kylin.rest.service.AclService]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/HColumnDescriptor;)Lorg/apache/hadoop/hbase/HTableDescriptor;
>         at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:162)
>         at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:76)
>         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:990)
>         ... 124 more
> Caused by: java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/HColumnDescriptor;)Lorg/apache/hadoop/hbase/HTableDescriptor;
>         at org.apache.kylin.common.persistence.HBaseConnection.createHTableIfNeeded(HBaseConnection.java:113)
>         at org.apache.kylin.common.persistence.HBaseConnection.createHTableIfNeeded(HBaseConnection.java:86)
>         at org.apache.kylin.rest.service.AclService.<init>(AclService.java:127)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>         at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
>         ... 126 more
> {code}
> The root cause is, CDH reverts several Apache HBase 1.0 commits, for backward compatibility; While Kylin 1.x-HBase1.x is compiled with Apache HBase 1.1 API, which is not compitible with CDH; More readings about this problem:
> https://issues.cask.co/browse/TEPHRA-53
> https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/KaGc7Ve7egs
> Even if change "hbase-hadoop2.version" in kylin's pom.xml to "1.0.0-cdh5.4.2", it wouldn't compile as some classes like "org.apache.hadoop.hbase.regionserver.ScannerContext.java" doesn't exist in HBase 1.0;
> Suggestion: 
>  - if for trial, suggest user to run Kylin on an opensource HBase 1.1 installation, or choose HDP 2.3 sandbox vm;
>  - otherwise, please hold on to warit for CDH's future release; 
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)