kylin build cube在“#19步骤名称:配置单元清理”java.lang.runtimeexception:读取kylin#hiveŧconf.xml失败

t9aqgxwy  于 2021-06-26  发布在  Kylin
关注(0)|答案(1)|浏览(466)

这个错误有时会发生,在重新启动kylin(kylin.sh stop,然后kylin.sh start)之后,它会找到conf dir位置并通过这个步骤。
我正在使用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)
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'
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'

谁能帮我找到根本原因并解决这个问题?提前谢谢。

rpppsulh

rpppsulh1#

我希望你已经解决了这个问题。我也遇到过同样的问题并对此进行了调查。
喜欢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配置创建简单的链接。
检查一下你的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

相关问题