Link Search Menu Expand Document

Oozie 에서 Workflow 의 결과에 따른 Email 알림을 받는 방법에 대해서 알아볼게요.

Workflow 를 1회성으로 실행시키는 경우와 Schedule 로 등록하여 주기적으로 실행하는 경우가 있을 수 있을텐데요. 1회성으로 Workflow 만 실행할때는 성공/실패에 대한 처리 결과를 받도록 하고, Schedule 로 등록하여 주기적으로 실행하는 경우에는 실패에 대한 알림 만을 받도록 합니다.

Version

  • Cloudera 6.1.1
  • Oozie 5.0.0
  • Hue 4.3.0

Oozie SMTP 설정

Cloudera Manager > Oozie > 구성 탭 에서 mail 을 검색해서, oozie.email.smtp.host, oozie.email.from.address 설정에 SMTP 의 도메인과 발신인 메일 주소를 설정해주세요. Oozie, Hue 서비스의 재시작이 필요합니다.

아쉽게도 Oozie 5.0.0 버전에서는 SSL 설정을 할 수 없네요. JIRA OOZIE-1393 를 확인해 보니 5.1.0 버전부터 Fixed 되었습니다.

Workflow 처리 결과 알림

Oozie 서비스에 Mail 설정이 되어 있다면 Workflow 를 제출 할 때 처리 결과에 Email 받기 체크박스를 확인 할 수 있어요. 체크 해줌으로써 간단히 Mail 수신이 가능해요.

Workflow 실패시 알림

Hue Workflow Editor 에서 신규 Workflow 를 작성하는 레이아웃 이예요. 종료 Action을 지정하는 Action에서(맨 마지막의 네모모양 레이어의 톱니바퀴 버튼) 실패에 대한 메일 알림 설정을 할 수 있습니다.

수신 대상 Mail 주소를 , 구분자로 넣어주세요. 제목과 내용에 EL Function 을 사용할 수 있어요. ${wf:name()} 는 Workflow 의 이름, ${wf:errofMessage(wf:lastErrorNode())} 는 실패 액션의 오류 원인 이예요.

특정 Action 의 결과 알림

만약 특정 Action 의 처리 결과에 대한 알림을 받고 싶을 경우, Email Action 을 사용 해야 해요. Hue Workflow Editor 에서 선행 Action 의 수행후 전환 설정에서 KO 시에 Kill 이 아닌 Email Aciton 으로 전환 하게되면 Mail 을 수신할 수 있습니다.