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

Shaofeng SHI updated KYLIN-1089:
--------------------------------
    Attachment: KYLIN-1089-support-CDH-5.5-hbase1.0.patch

> 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)

Reply via email to