2012-11-07 5 views
0

Oozie에서 ssh 작업을 사용하여 HDFS에 디렉토리를 만들어야합니다. 샘플 워크 플로우는Oozie에서 ssh 작업을 사용하여 HDFS에 디렉토리 만들기

<workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1"> 
    <action name="testjob"> 
     <ssh> 
      <host>[email protected]<host> 
      <command>mkdir</command> 
      <args>hdfs://host/user/xyz/</args> 
     </ssh> 
     <ok to="end"/> 
     <error to="fail"/> 
    </action> 
</workflow-app> 

실행 중에 오류가 발생합니다. 아무도 내가 여기서 누락 된 부분을 안내해 줄 수 있습니까?

답변

1

* nix mkdir 명령을 사용하여 hdfs에서 디렉토리를 만들 수 없습니다. 코드에 표시된 사용법은 로컬 파일 시스템에서 mkdir 명령을 실행하려고 시도하는 반면 HDFS에서는 디렉토리를 생성하려고합니다.

oozie 문서 인용하기 @http://oozie.apache.org/docs/3.3.0/DG_SshActionExtension.html; 상태

쉘 명령은 원격 호스트의 지정된 사용자의 홈 디렉토리에서 실행됩니다.

<workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1"> 
<action name="testjob"> 
    <ssh> 
     <host>[email protected]<host> 
     <command>/usr/bin/hadoop</command> 
     <args>dfs</args> 
     <args>-mkdir</args> 
     <args>NAME_OF_THE_DIRECTORY_YOU_WANT_TO_CREATE</arg> 
    </ssh> 
    <ok to="end"/> 
    <error to="fail"/> 
</action> 

위의 코드는 하둡 바이너리의 경로에 따라 달라집니다.

관련 문제