2017-03-14 15 views
0

단계에서 실패했지만 다음 로그 MSG와 3 단계에서 실패아파치 기린은 : 큐브 빌드는 내가 아파치 기린 큐브를 구축하기 위해 노력하고있어 3

java.lang.RuntimeException가 : java.io.IOException 상위를 : NoSuchObjectException : org.apache.kylin.source.hive.HiveMRInput $ HiveTableInputFormat.configureJob (HiveMRInput.java:110) org.apache.kylin.engine.mr.steps에서 에 (메시지 default.kylin_intermediate_t3cube_47ec8760_55ce_445d_a91b_0c33957690bf 테이블을 찾을 수 없습니다). 팩트 디스트릭트 콜 럼스 작업. g.apache.kylin.engine.mr.MRUtil.runMRJob (MRUtil.java:92) at org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork (MapReduceExecutable.java:120) at org.apache. org.apache.kylin.job.execution.DefaultChainedExecutable.doWork (DefaultChainedExecutable.java:57) 에있는 kylin.job.execution.AbstractExecutable.execute (AbstractExecutable.java:113) 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) 에 의해 발생 : org.apache.hive에서 org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput (HCatInputFormat.java:97) 에서 : (default.kylin_intermediate_t3cube_47ec8760_55ce_445d_a91b_0c33957690bf 테이블을 찾을 수 없습니다 메시지) : java.io.IOException 상위 NoSuchObjectException .hcatalog.mapreduce.HCatInputFormat.setInput org.apache.kylin.source.hive.HiveMRInput $ HiveTableInputFormat.configureJob (HiveMRInput.java:105)에서 (HCatInputFormat.java:51) 은 ... 11 개의 에 의해 발생 : NoSuchObjectException org.apache.hadoop.hive.metastore.HiveMetaStore $ HMSHandler.get_table_core (HiveMetaStore.java:1946) org.apache.hadoop.hive.metastore.HiveMetaStore $ HMSHandler에서 에서 : (메시지 default.kylin_intermediate_t3cube_47ec8760_55ce_445d_a91b_0c33957690bf 테이블을 찾을 수 없습니다). get_table sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java에서 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) 에서 sun.reflect.NativeMethodAccessorImpl.invoke0 (기본 방법) 에서 (HiveMetaStore.java:1899) : 43) at java.lang.reflect.Mavod.invoke (Method.java : 498) at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal (RetryingHMSHandler.java:140) at org.apache.hadoop. . com.sun.proxy $ Proxy47.get_table (알 수없는 소스) org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable (HiveMetaStoreClient.java에서 에서 hive.metastore.RetryingHMSHandler.invoke (RetryingHMSHandler.java:99) : 1332) at sun.reflect.NativeMethodAccessorImpl.invoke0 (네이티브 java.lang.reflect.Method.invoke (Method.java에서 sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) 에서 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) 의 방법) : 498) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke (RetryingMetaStoreClient.java:150) (com.sun.proxy) $ Proxy48.getTable (알 수없는 소스) at org.apache.hive.hcatalog. common.HCatUtil.getTable (HCatUtil.java:180) at org.apache.hive.hcatalog.mapreduce.InitializeInput.getInputJobInfo (InitializeInput.java:105) at org.apache.hive.hcatalog.mapreduce.InitializeInput.setInput (InitializeInput.java:88) at org.apache.hive.hcatalog.mapreduce.HCatInputFormat.setInput에 (HCatInputFormat.java:95) ... 13 개 결과 코드 : 2

메시지는 기린 테이블 "default.kylin_intermediate_t3cube_47ec8760_55ce_445d_a91b_0c33957690bf"를 찾을 수 없습니다 보여줍니다,하지만 난 하이브로 로그인, 매우 테이블 존재합니다.

누구든지 나에게이 문제를 해결할 수있는 빛을 줄 수 있습니까?

편집 : 이 문제를 해결했습니다. Kylin은 테이블 정보를 가져 오기 위해 HCatelog를 사용하지만 제대로 하이브를 설정하지 않았습니다.

답변

1

Kylin은 hcatalog lib를 통해 직접 하이브 메타 스토어에 연결합니다. 이를 위해서는 classpath에 hive-site.xml이 필요하며 올바른 하이브 메타 스토어에 연결할 수있는 충분한 정보 (예 : 'hive.metastore.uris')가 있어야합니다. 그렇지 않으면 잘못된 메타 스토어에 연결되면 테이블을 찾을 수없는 예외가 발생합니다.

YARN 리소스 관리자 또는 작업 기록 서버에서 실패한 "Extract Fact Table Distinct Columns"작업의 MR 구성을 확인하십시오. 'mapreduce.application.classpath'와 같은 클래스 경로 속성을 검색하십시오. hive-site.xml이 classpath에 있는지 확인하고 올바른 메타 스토어 연결 정보가 들어 있는지 확인하십시오.

참고 : 'mapreduce.application.classpath'와 같이 MR 작업 구성을 무시하는 데 사용할 수있는 "$ KYLIN_HOME/conf/kylin_job_conf.xml"이 있습니다.

KYLIN-2530은 개선 사항입니다. Kylin 2.0부터이 문제가 완화 될 것이라고 가정합니다.