Kylin build Cube的時候出現java.lang.NoClassDefFoundError: org/apache/hive/hcatalog/mapreduce/HCatInputFormat


在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

大意是:重新整理關於本地磁盤而不是HDFJAR文件的問題,是的,Hadoop/Hive/HBase JAR應該存在於Hadoop群集的每台計算機上的本地磁盤中,位置相同;Kylin不會上載這些JAR;請檢查並確保Hadoop群集的一致性。

換句話說,集群中的其他主機的HBase目錄下的lib找不到某些jar包,集群中所有機器都要在同一位置存在這些jar包。所以我用集群分發命令把這些jar分發了:

[user@node-name hbase-1.3.1]$ bash xsync lib

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM