복붙노트

[HADOOP] 하나의 코디네이터로 일부 oozie 워크 플로를 시작할 수 있습니까?

HADOOP

하나의 코디네이터로 일부 oozie 워크 플로를 시작할 수 있습니까?

내가 원하는 것에 대해 좋은 도구를 사용하고 있는지 확실하지 않습니다.

의존적이든 아니든 많은 워크 플로가 있습니다.

예 :

모든 워크 플로를 (일부 데이터 조건으로) 시작할 수있는 코디네이터를 가질 수 있다고 생각했습니다. 그러나 나는 이것이 좋은 습관이 아니라고 생각하기 시작합니다.

모든 실행 조건과 모든 코디네이터를 시작하는 하나의 번들을 가진 워크 플로우 당 하나의 코디네이터가 있어야합니까? 그렇게 :

또는 한 코디네이터가 모든 워크 플로를 시작할 수 있습니까 (의존적이든 아니든)?

해결법

  1. ==============================

    1.따라 다릅니다. wf1과 wf2가 논리적으로 관련되어 있고 빈도가 같고 공통 데이터 세트 종속성이있는 경우 하나의 코디네이터로 배치 할 수 있습니다 (동시에 또는 서로 하나씩 실행). 그러나 그들이 그렇지 않은 경우 별도의 코디네이터에 배치하는 것이 좋습니다.

    따라 다릅니다. wf1과 wf2가 논리적으로 관련되어 있고 빈도가 같고 공통 데이터 세트 종속성이있는 경우 하나의 코디네이터로 배치 할 수 있습니다 (동시에 또는 서로 하나씩 실행). 그러나 그들이 그렇지 않은 경우 별도의 코디네이터에 배치하는 것이 좋습니다.

    하위 워크 플로우 기능을 사용하여 하나에서 여러 워크 플로우를 시작할 수 있습니다.

    <workflow-app name="root-workflow" xmlns="uri:oozie:workflow:0.4">
        <start to="run-wf1"/>
        <action name="run-wf1">
            <sub-workflow>
                <app-path>${appPath}/wf1.xml</app-path>
                <propagate-configuration/>
            </sub-workflow>
            <ok to="run-wf2"/>
            <error to="kill"/>
        </action>
        <action name="run-wf2">
            <sub-workflow>
                <app-path>${appPath}/wf2.xml</app-path>
                <propagate-configuration/>
            </sub-workflow>
            <ok to="end"/>
            <error to="kill"/>
        </action>
        <kill name="kill">
            <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
        </kill>
        <end name="end"/>
    </workflow-app>
    

    포크를 사용하는 것보다 동시에 실행하려면.

  2. from https://stackoverflow.com/questions/31583408/is-it-possible-to-lauch-some-oozie-workflows-with-only-one-coordinator by cc-by-sa and MIT license