You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kylin.apache.org by Jack <wa...@126.com> on 2015/09/22 10:38:48 UTC

Build cube Fail when create HTable

Hi all,
          I download the source code of Apache Kylin v1.0 and change the pom.xml at KYLIN_HOME/pom.xml as follow then use mvn to complie:       
        
                  <!-- Hadoop versions -->
        <hadoop2.version>2.6.0</hadoop2.version>
        <yarn.version>2.6.0</yarn.version>
        <zookeeper.version>3.4.6</zookeeper.version>
        <hive.version>1.1.0</hive.version>
        <hive-hcatalog.version>1.1.0</hive-hcatalog.version>
        <hbase-hadoop2.version>1.0.0</hbase-hadoop2.version>
     
        My hadoop,hive,hbase version is :
            hadoop :  cdh 5.4.3(hadoop2.6.0)
           hive:    hive-1.1.0-cdh5.4.3
           hbase: HBase 1.0.0-cdh5.4.3
           apache kylin: kylin-1.0-incubating
         
       I run the sample.sh in KYLIN_HOME/bin the create cube data.
       And because the cluster has kerberos authentication, I use the solution of  https://issues.apache.org/jira/browse/KYLIN-1014 
       to fix it.
      
      But the build cube job still fail at step 13#, #13 Step Name: Create HTable,the error is:


       java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.setValue(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/hadoop/hbase/HTableDescriptor;
at org.apache.kylin.job.hadoop.hbase.CreateHTableJob.run(CreateHTableJob.java:80)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:62)
at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:51)
at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:130)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)


         I found the HTableDescriptor class in hbase-client.jar but when I put this jar into KYLIN_HOME/tomcat/webapps/kylin/WEB-INF/lib/ it also has error:


         java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/catalina/loader/WebappClassLoader) previously initiated loading for a different type with name "org/apache/hadoop/hbase/HTableDescriptor"
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2957)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
at org.apache.kylin.job.hadoop.hbase.CreateHTableJob.run(CreateHTableJob.java:78)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:62)
at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:51)
at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:130)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
         
        Can anyone tell me how to  change the pom.xml to fix this error?

Re: Build cube Fail when create HTable

Posted by 周千昊 <qh...@apache.org>.
Hi, Jack
     It is the HBase version.
     Kylin binary release is based on HBase 0.98, and HBase 1.0.0 is quite
different from 0.98.
     If your HBase version has to be 1.0.0. There is an undergoing dev
branch 1.x-HBase1.x. You may switch to that branch and build the package
yourself

Jack <wa...@126.com>于2015年9月22日周二 下午4:39写道:

> Hi all,
>           I download the source code of Apache Kylin v1.0 and change the
> pom.xml at KYLIN_HOME/pom.xml as follow then use mvn to complie:
>
>                   <!-- Hadoop versions -->
>         <hadoop2.version>2.6.0</hadoop2.version>
>         <yarn.version>2.6.0</yarn.version>
>         <zookeeper.version>3.4.6</zookeeper.version>
>         <hive.version>1.1.0</hive.version>
>         <hive-hcatalog.version>1.1.0</hive-hcatalog.version>
>         <hbase-hadoop2.version>1.0.0</hbase-hadoop2.version>
>
>         My hadoop,hive,hbase version is :
>             hadoop :  cdh 5.4.3(hadoop2.6.0)
>            hive:    hive-1.1.0-cdh5.4.3
>            hbase: HBase 1.0.0-cdh5.4.3
>            apache kylin: kylin-1.0-incubating
>
>        I run the sample.sh in KYLIN_HOME/bin the create cube data.
>        And because the cluster has kerberos authentication, I use the
> solution of  https://issues.apache.org/jira/browse/KYLIN-1014
>        to fix it.
>
>       But the build cube job still fail at step 13#, #13 Step Name: Create
> HTable,the error is:
>
>
>        java.lang.NoSuchMethodError:
> org.apache.hadoop.hbase.HTableDescriptor.setValue(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/hadoop/hbase/HTableDescriptor;
> at
> org.apache.kylin.job.hadoop.hbase.CreateHTableJob.run(CreateHTableJob.java:80)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
> at
> org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:62)
> at
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
> at
> org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:51)
> at
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
> at
> org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:130)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
>
>
>          I found the HTableDescriptor class in hbase-client.jar but when I
> put this jar into KYLIN_HOME/tomcat/webapps/kylin/WEB-INF/lib/ it also has
> error:
>
>
>          java.lang.LinkageError: loader constraint violation: loader
> (instance of org/apache/catalina/loader/WebappClassLoader) previously
> initiated loading for a different type with name
> "org/apache/hadoop/hbase/HTableDescriptor"
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at
> org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2957)
> at
> org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210)
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
> at
> org.apache.kylin.job.hadoop.hbase.CreateHTableJob.run(CreateHTableJob.java:78)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
> at
> org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecutable.java:62)
> at
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
> at
> org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:51)
> at
> org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:107)
> at
> org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:130)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
>
>         Can anyone tell me how to  change the pom.xml to fix this error?

Re: Build cube Fail when create HTable

Posted by "Shi, Shaofeng" <sh...@ebay.com>.
To compile Kylin with HBase 1.x, please checkout the 1.x-HBase1.x branch;

On 9/22/15, 4:38 PM, "Jack" <wa...@126.com> wrote:

>Hi all,
>          I download the source code of Apache Kylin v1.0 and change the
>pom.xml at KYLIN_HOME/pom.xml as follow then use mvn to complie:
>        
>                  <!-- Hadoop versions -->
>        <hadoop2.version>2.6.0</hadoop2.version>
>        <yarn.version>2.6.0</yarn.version>
>        <zookeeper.version>3.4.6</zookeeper.version>
>        <hive.version>1.1.0</hive.version>
>        <hive-hcatalog.version>1.1.0</hive-hcatalog.version>
>        <hbase-hadoop2.version>1.0.0</hbase-hadoop2.version>
>     
>        My hadoop,hive,hbase version is :
>            hadoop :  cdh 5.4.3(hadoop2.6.0)
>           hive:    hive-1.1.0-cdh5.4.3
>           hbase: HBase 1.0.0-cdh5.4.3
>           apache kylin: kylin-1.0-incubating
>         
>       I run the sample.sh in KYLIN_HOME/bin the create cube data.
>       And because the cluster has kerberos authentication, I use the
>solution of  https://issues.apache.org/jira/browse/KYLIN-1014
>       to fix it.
>      
>      But the build cube job still fail at step 13#, #13 Step Name:
>Create HTable,the error is:
>
>
>       java.lang.NoSuchMethodError:
>org.apache.hadoop.hbase.HTableDescriptor.setValue(Ljava/lang/String;Ljava/
>lang/String;)Lorg/apache/hadoop/hbase/HTableDescriptor;
>at 
>org.apache.kylin.job.hadoop.hbase.CreateHTableJob.run(CreateHTableJob.java
>:80)
>at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
>at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
>at 
>org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecut
>able.java:62)
>at 
>org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutab
>le.java:107)
>at 
>org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChai
>nedExecutable.java:51)
>at 
>org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutab
>le.java:107)
>at 
>org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(Defaul
>tScheduler.java:130)
>at 
>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
>1145)
>at 
>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java
>:615)
>at java.lang.Thread.run(Thread.java:745)
>
>
>         I found the HTableDescriptor class in hbase-client.jar but when
>I put this jar into KYLIN_HOME/tomcat/webapps/kylin/WEB-INF/lib/ it also
>has error:
>
>
>         java.lang.LinkageError: loader constraint violation: loader
>(instance of org/apache/catalina/loader/WebappClassLoader) previously
>initiated loading for a different type with name
>"org/apache/hadoop/hbase/HTableDescriptor"
>at java.lang.ClassLoader.defineClass1(Native Method)
>at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
>at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>at 
>org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClass
>Loader.java:2957)
>at 
>org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.j
>ava:1210)
>at 
>org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.j
>ava:1690)
>at 
>org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.j
>ava:1571)
>at 
>org.apache.kylin.job.hadoop.hbase.CreateHTableJob.run(CreateHTableJob.java
>:78)
>at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
>at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
>at 
>org.apache.kylin.job.common.HadoopShellExecutable.doWork(HadoopShellExecut
>able.java:62)
>at 
>org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutab
>le.java:107)
>at 
>org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChai
>nedExecutable.java:51)
>at 
>org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutab
>le.java:107)
>at 
>org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(Defaul
>tScheduler.java:130)
>at 
>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
>1145)
>at 
>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java
>:615)
>at java.lang.Thread.run(Thread.java:745)
>         
>        Can anyone tell me how to  change the pom.xml to fix this error?