2014-07-14 5 views
0

실행 방법 SSH + JAVA 작업? .Oozie SSH + Java 실행 실행

원격 시스템에 SSH 작업을 실행해야합니다. 어느 내 원격 컴퓨터에서 jar 파일 + 속성 파일을 실행해야합니다. 이 작업 과정을 작성하는 방법은 무엇입니까?

jar 파일이 oozie lib 폴더에서 원격 시스템으로 복사 될지 여부. 그래서 어떤 장소에가 복사됩니다 /홈/사용자/oozie-oozi이/

내가 위 솔루션은 아래

<action name="ssh-FileValidation"> 
    <ssh xmlns="uri:oozie:ssh-action:0.1"> 
     <host>[email protected]</host> 
      <command>/home/user/testscript.sh</command> 
    </ssh> 
    <ok to="mr-job"/> 
    <error to="fail"/> 
</action> 

같은 워크 플로를 작성했다면 내가 jar 파일을 복사해야하고 내 원격 컴퓨터에 등록 정보 파일.

jar 파일을 각 시스템에 복사 할 필요가없는 다른 방법이 있습니까? oozie를 실행하는 동안 oozie 자체는 필요한 jar 파일을 병이 실행될 위치로 복사합니다.

참고 :하지만 hadoop이 설치된 클러스터에만 원격 시스템이 마운트되었습니다.

답변

0

는 HDFS에 workflow.xml 근처 lib 디렉토리로 항아리를 넣고 특성 workflow.xml 근처에 파일을 다음과 같이

/user/syed/super-oozie-app/ 
    workflow.xml 
    super-oozie-app.properties 
    lib/ 
    super-oozie-app.jar 

이 그럼 당신은 자바 조치를 정의 할 수 있습니다 (가정하여 com.example.SuperOozieAppAction 클래스는 super-oozie-app.jar에 위치하고 있으며

<action name="super-oozie-app-action"> 
    <java> 
     ... 
     <main-class>com.example.SuperOozieAppAction</main-class> 
     <file>super-oozie-app.properties#super-oozie-app.properties</file> 
    </java> 
    ... 
</action> 

이 방법 Oozie 당신을 위해 파일 분배의 문제를 해결한다 : 그것은 당신이 실행하려는 main 방법)이있다. SuperOozieAppAction이 시작되고 super-oozie-app.properties이 현재 디렉토리에 있습니다.

자바 작업 here 및 배포판 파일 here에 대해 자세히 알아보십시오.

+0

SSH + Java는 어떻게 가능합니까? –

+0

이 경우 SSH를 사용할 필요가 없습니다. Oozie와 HDFS는 파일 배포를 처리합니다. – Dmitry

+0

특정 머신에서 Java 액션을 실행해야합니다. 어떻게 정의 할 수 있습니까? –

관련 문제