一個kylin build job執行到第三步Extract Fact Table Distinct Columns時報錯:
2017-05-24 20:04:07,930 ERROR [pool-9-thread-3] common.MapReduceExecutable:127 : error execute MapReduceExecutable{id=a79c9625-39aa-4f17-8015-73b640558425-02, name=Extra ct Fact Table Distinct Columns, state=RUNNING} java.lang.IllegalStateException at org.apache.kylin.engine.mr.steps.FactDistinctColumnsJob.run(FactDistinctColumnsJob.java:98) at org.apache.kylin.engine.mr.MRUtil.runMRJob(MRUtil.java:92) at org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork(MapReduceExecutable.java:120) at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:113) at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:57) at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:113) at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:136) 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)
解決方案:找到執行這個build任務的kylin實例,reload metadata或重啟kylin服務(不推薦),然后重新build.
原因分析:執行build的job server內存中的Meta沒有被更新,使用了緩存中的Meta執行build導致。