orchestration 6

Docker and Container

Container 먼저 컨테이너란 무엇일까요? 컨테이너는 Docker의 정식 홈페이지에서 다음과 같이 정의하고 있습니다. Package Software into Standardized Units for Development, Shipment and Deployment 컨테이너는 애플리케이션에게 격리된 실행 환경을 제공해주는 가상화 기술입니다. 컨테이너 단위로 OS, Library, Application을 패키징 할 수 있습니다. 컨테이너 기술을 통해 하나의 OS 상에서 여러 애플리케이션을 독립적으로 실행시킬 수 있습니다. Why container? 그러면 왜 컨테이너 기술을 사용할까요? 그 이유는 다음과 같습니다. - 컨테이너 이미지를 서비스 별 배포 단위로 만들어서 사용 - 컨테이너 이미지는 불변 - ..

예제로 알아보는 Oozie Coordinator - 2

예제로 알아보는 Oozie Coordinator - 2 이번 포스트에서는 예제를 통해서 data availability 기반의 스케줄링이 가능한 우지 코디네이터 사용법에 대해 알아보겠습니다. time interval 기반의 우지 코디네이터의 사용법이 궁금하신분들은 이전 포스트를 참고하시기 바랍니다. Oozie를 통하여 workflow를 동작시킬 때의 조건으로 특정 데이터 셋의 준비가 되는 경우에 워크플로우가 실행되도록 하고 싶은 경우가 있습니다. 이때 사용할 수 있는 방법이 바로 data availability 혹은 data trigger 기반의 코디네이터입니다. 동작 원리는 간단합니다. 코디네이터에서 frequency 마다 지정된 위치의 데이터 셋이 존재하는지 확인합니다. 확인 후 데이터가 없으면 지정..

예제로 알아보는 Oozie Coordinator - 1

예제로 알아보는 Oozie Coordinator - 1 이전 포스트에서 우리는 다양한 workflow 패턴에 대해 알아보았습니다. workflow는 여러 액션들을 정의하고 액션들에 실행 관계를 포함해서 실행할 수 있습니다. 그러나 우리는 workflow가 특정 시간에 주기적으로 혹은 데이터가 존재하면 실행하길 원합니다. 이러한 요구사항을 수용해서 Oozie에서는 workflow를 스케줄할 수 있는 Coordinator 기능을 제공합니다. 이러한 스케줄링 기능을 통해 강력한 Orchestration 기능을 제공합니다. Oozie는 기본적으로 time interval 기반의 스케줄링과 data availability 기반의 스케줄링을 제공합니다. 또한 외부 이벤트에 의해서도 실행될 수 있습니다.Oozie에서..

Oozie workflow pattern - 2

해당 포스트는 이전한 블로그에서도 확인할 수 있습니다.Oozie workflow pattern - 2 이전 포스트에는 Oozie의 워크플로우 패턴중 하나인 Point-to-Point 패턴에 관해서 알아보았습니다. 이번 시간에는 fork-and-join 패턴에 대해 알아보도록 하겠습니다. fork-and-join pattern fork-and-join 패턴은 Fan-out 패턴이라고도 합니다. 이와 같은 형태의 워크플로우는 여러 액션들이 나누어 실행한 후 해당 액션들이 다 정상적으로 완료된 후 다음 액션을 수행해야하는 경우 많이 사용합니다. 즉, 다음 액션이 실행되기 전에 모든 선행 액션이 완료되는 것을 전제로 하겠다는 것입니다. 말로 하니까 약간 이해하기 어렵네요. 예제를 통해 알아보도록 하겠습니다. 워..

Oozie workflow Pattern - 1

해당 포스트는 이전한 블로그에서도 확인할 수 있습니다.Oozie workflow pattern - 1 Oozie가 무엇인지 궁금한 분들을 Apache Oozie 알아보기라는 이전 포스트를 참고하시기 바랍니다. 일반적으로 Oozie에서 많이 사용되는 워크플로우 패턴에 대해서 알아봅시다. 순차적 액션 수행 (Point-to-Point Pattern) 가장 간단한 형태로 수행하는 워크플로우 형태가 되겠습니다. 말그대로 순차적으로 액션을 수행할 때 사용합니다. 예제를 한번 살펴볼까요? 간단한 예제입니다. 예제 워크플로우의 모습은 아래와 같습니다. 하이브를 사용하여 데이터 셋에 대한 집계를 수행한 후 스쿱을 사용하여 RDBMS로 내보내는 워크플로우입니다. 이와 같은 패턴을 Oozie의 workflow.xml로 나..

Apache Oozie 알아보기

Oozie 개요 Oozie는 정식 홈페이지에 나와 있듯이 Hadoop ecosystem에서 사용하는 Workflow Scheduler(혹은 orchestration) 프레임워크이다.Oozie에서 제공하는 기능은 크게 아래의 3가지와 같다. Scheduling 특정 시간에 액션 수행 주기적인 간격 이후에 액션 수행 이벤트가 발생하면 액션 수행 Coordinating 이전 액션이 성공적으로 끝나면 다음 액션 시작 Managing 액션이 성공하거나 실패했을 때 이메일 발송 액션 수행시간이나 액션의 단계를 저장 Oozie Terminology Action 우지에서 실행할 수 있는 하나의 작업 단위 MapReduce 작업, Spark 작업, Shell script 등 Workflow Action들의 제어와 의존 ..

반응형