在build一個Cube,大概進行到第二步的時候

出現如下異常:

java.lang.NoClassDefFoundError: org/apache/hive/hcatalog/mapreduce/HCatInputFormat
at org.apache.kylin.source.hive.HiveMRInput$HiveTableInputFormat.configureJob(HiveMRInput.java:94)
at org.apache.kylin.engine.mr.steps.FactDistinctColumnsJob.setupMapper(FactDistinctColumnsJob.java:122)
at org.apache.kylin.engine.mr.steps.FactDistinctColumnsJob.run(FactDistinctColumnsJob.java:100)
at org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork(MapReduceExecutable.java:131)
at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:164)
at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:70)
at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:164)
at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:113)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
解決方案在這里:
https://issues.apache.org/jira/browse/KYLIN-1021
大意是:重新整理關於本地磁盤而不是HDF中JAR文件的問題,是的,Hadoop/Hive/HBase JAR應該存在於Hadoop群集的每台計算機上的本地磁盤中,位置相同;Kylin不會上載這些JAR;請檢查並確保Hadoop群集的一致性。
換句話說,集群中的其他主機的HBase目錄下的lib找不到某些jar包,集群中所有機器都要在同一位置存在這些jar包。所以我用集群分發命令把這些jar分發了:
[user@node-name hbase-1.3.1]$ bash xsync lib
