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