Kylin Build Cube在“#19步骤名称:Hive清理”中失败了,导致java.lang.RuntimeException:无法读取kylin_hive_conf.xml

时间:2019-09-19 09:38:20

标签: cube kylin

有时会发生错误,并且在重启kylin(kylin.sh停止,然后kylin.sh启动)之后,它将找到conf目录位置并通过此步骤。

我正在使用Kylin版本“ 2.6.2”,并且KYLIN_CONF =“ / opt / kylin / conf”已正确设置。

错误提示是不同的,因为我已经对以下内容进行了反驳: 1.

java.lang.RuntimeException: Failed to read kylin_hive_conf.xml at '/opt/apache-kylin-2.6.2-bin-hadoop3/bin/meta/kylin_hive_conf.xml'
    at org.apache.kylin.common.util.SourceConfigurationUtil.loadXmlConfiguration(SourceConfigurationUtil.java:88)
    at org.apache.kylin.common.util.SourceConfigurationUtil.loadHiveConfiguration(SourceConfigurationUtil.java:61)
    at org.apache.kylin.common.util.HiveCmdBuilder.<init>(HiveCmdBuilder.java:48)
    at org.apache.kylin.source.hive.GarbageCollectionStep.cleanUpIntermediateFlatTable(GarbageCollectionStep.java:63)
    at org.apache.kylin.source.hive.GarbageCollectionStep.doWork(GarbageCollectionStep.java:49)
    at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:167)
    at org.apache.kylin.job.execution.DefaultChainedExecutable.doWork(DefaultChainedExecutable.java:71)
    at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:167)
    at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:114)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

2。

java.lang.RuntimeException: Failed to read kylin_hive_conf.xml at '/opt/apache-kylin-2.6.2-bin-hadoop3/bin/meta/kylin_hive_conf.xml'

3。

java.lang.RuntimeException: Failed to read kylin_hive_conf.xml at '/opt/apache-kylin-2.6.2-bin-hadoop3/conf/meta/kylin_hive_conf.xml'

谁能帮助我找到根本原因并解决此问题? 预先感谢。

1 个答案:

答案 0 :(得分:0)

希望您已经解决了这个问题。我遇到了同样的问题并进行了调查。

喜欢https://github.com/apache/kylin/blob/kylin-2.6.2/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/AbstractHadoopJob.java#L481

当我们使用MapReduce时,会将KYLIN_CONF设置为其他文件夹。

System.setProperty(KylinConfig.KYLIN_CONF, metaDir.getAbsolutePath());

我认为要解决此问题,我们必须为所有XML xml配置创建简单的链接。

尝试检查您的Kylin日志

cat YOUR_PATH/apache-kylin-2.6.3-bin-hbase1x/logs/kylin.log | grep "The absolute path"

您可能会看到结果

2019-10-14 23:47:04,438 INFO  [LocalJobRunner Map Task Executor #0] common.AbstractHadoopJob:482 : The absolute path for meta dir is /SOME_FOLDER/meta