2015-02-02 3 views
0

여기 하이브, 오류 메시지에 실패하이브 - oozie 액션 오류

<action name="hive-node"> 
<hive xmlns="uri:oozie:hive-action:0.2"> 
<job-tracker>${jobTracker}</job-tracker> 
    <name-node>${nameNode}</name-node> 
<prepare> 
     <delete path="${nameNode}/user/${wf:user()}/${wfeRoot}/output-data/hive"/> 
     <mkdir path="${nameNode}/user/${wf:user()}/${wfeRoot}/output-data"/> 
    </prepare> 
<job-xml>hive-site.xml</job-xml> 
    <configuration> 
     <property> 
      <name>mapred.job.queue.name</name> 
      <value>${queueName}</value> 
     </property> 
    <property> 
      <name>oozie.log.hive.level</name> 
      <value>DEBUG</value> 
     </property> 
     <property> 
      <name>oozie.hive.defaults</name> 
      <value>hive-default.xml</value> 
     </property> 
    </configuration> 
    <script>script.q</script> 
</hive> 
<ok to="end"/> 
<error to="fail"/> 

내 workflow.xml입니다 [$ {: ERRORMESSAGE WF (WF : lastErrorNode())}]

내 job.properties는

nameNode=hdfs://localhost:8020 
jobTracker=localhost:8021 
queueName=default 
wfeRoot=wfe 

oozie.use.system.libpath=true 
oozie.libpath=/user/oozie/share/lib/hive 

    oozie.wf.application.path=${nameNode}/user/${user.name}/${wfeRoot}/hiveoozie 

스크립트를

파일
create table brundesh(name string,lname string) row format delimited fields terminated by ','; 

hoo-site.xml, script.hql 및 hive-default.xml을 oozie 앱 디렉토리에 복사했습니다. cdh3을 사용하고 있습니다

Error detalis: 
Error code: JA018 
Error Message: Main Class[org.apache.oozie.action.hadoop.HiveMain],exit code [9] 

필요한 jar 파일을 hdfs의 sharelib 디렉토리에 복사했습니다. 나는 $ OOZIE_HOME의 oozie.sharelib.tar.gz에있는 모든 jar fiels를 복사했습니다.

나는 운 좋게도 오류로 고글을 댔습니다. 제발 잘못 가고있는 것을 도와주세요

+0

이 오류는 실제 오류가 아닙니다. 단순히 하이브에서 뭔가 잘못되었다고 말합니다. Hive 로그에서 실제 오류를 확인해야합니다. 나는 그것 없이는별로 도움이 안 될까봐 두려워. 제쳐두고 하이브 작업으로 테이블을 만들 때 폴더를 삭제하고 생성 하시겠습니까? 두 가지는 완전히 무관 한 것처럼 보입니다. 어쩌면 별도의 [FS 작업] (https://oozie.apache.org/docs/3.2.0-incubating/WorkflowFunctionalSpec.html#a3.2.4_Fs_HDFS_action)을 사용해보십시오. –

답변

0

Ben이 언급 한 것처럼 존경받는 노드에있는 하이브 로그를 확인하거나 로그의 세부 사항으로 콘솔 URL에서 확인하십시오.

도 수행 할 requried 또 다른 단계는 할 제안합니다 :

  1. 는 DFS 위치에서 공유 해방 항아리의 백업을 가져 가라.

  2. 로컬 Hive Lib 위치에서 Oozie User와 DFS 공유 위치로 동일한 Jar를 업로드합니다.

  3. 하이브 리브 경로를 제외한 다른 로컬 위치에 복제 하이브 병이 나타나지 않아야합니다.

  4. 모든 노드는 동일한 Jar를 가져야합니다.

  5. 돼지를 사용하는 경우 돼지에게서 1 단계, 2 단계, 3 단계도 수행하십시오.

  6. Classpath가 올바르게 설정된 경우 Hadoop ClassPath를 확인하십시오.