[oozie] 우지 액션(action) 체크 설정 변경하기

2019. 4. 19. 16:18·빅데이터/oozie

우지를 이용하여 작업을 처리하는 중 fork를 이용하여 한번에 여러개의 액션(action)을 실행하면 클러스터 자원의 여유가 있어도, 우지가 10개의 액션만 동시에 처리(RUNNING 상태)하고 나머지는 대기 상태(PREP 상태)로 남아서 작업 속도를 증가하기 위해서 우지 액션 관련 설정을 확인해 보았습니다. 우지 액션 관련 설정은 세가지입니다.

 

설정 기본값 비고
oozie.service.ActionCheckerService.action.check.interval 60 작업의 동작 상황을 체크하는 기간. 60초 마다 반복
oozie.service.ActionCheckerService.action.check.delay 600 작업을 시작하고 동작체크를 시작하는 지연시간. 작업 시작후 600초(10분)뒤에 체크 시작
oozie.service.ActionCheckerService.callable.batch.size 10 한번에 체크하는 액션의 개수

예를 들어 fork를 이용하여 한번에 30개의 작업을 동시에 수행하면, 기본 설정에서는 한번에 10개의 액션이 동시에 실행 상태(RUNNING)가 됩니다. 실행된 작업은 10뒤에 1분 간격으로 작업이 성공하였는지 확인하게 됩니다. 클러스터의 자원이 남아있어도 작업이 느리게 진행되기 때문에 이를 적절하게 수정하는 것이 좋습니다.

 

관련 설정은 다음의 사이트에서 확인할 수 있습니다.

https://oozie.apache.org/docs/4.2.0/oozie-default.xml

불러오는 중입니다...

액션 체크 관련 소스코드를 확인해보면 자바 유틸의 ScheduledThreadPoolExecutor를 이용하여 액션을 체크할 때 위의 설정값을 이용하여 인터벌과 딜레이를 입력하고 있습니다.

// ActionCheckRunnable 
    @Override
    public void init(Services services) {
        Runnable actionCheckRunnable = new ActionCheckRunnable(ConfigurationService.getInt
                (services.getConf(), CONF_ACTION_CHECK_DELAY));
        services.get(SchedulerService.class).schedule(actionCheckRunnable, 10,
                ConfigurationService.getInt(services.getConf(), CONF_ACTION_CHECK_INTERVAL),
                SchedulerService.Unit.SEC);
    }

// SchedulerService
    if (!scheduler.isShutdown()) {
       scheduler.scheduleWithFixedDelay(r, delay * unit.getMillis(), interval * unit.getMillis(),
                                          TimeUnit.MILLISECONDS);}

 

https://github.com/apache/oozie/core/src/main/java/org/apache/oozie/service/ActionCheckerService.java

 

apache/oozie

Mirror of Apache Oozie. Contribute to apache/oozie development by creating an account on GitHub.

github.com

https://github.com/apache/oozie/core/src/main/java/org/apache/oozie/service/SchedulerService.java

 

apache/oozie

Mirror of Apache Oozie. Contribute to apache/oozie development by creating an account on GitHub.

github.com

 

반응형

'빅데이터 > oozie' 카테고리의 다른 글

[oozie][EMR] EMR Oozie 실행시 java.lang.ClassNotFoundException: Class com.amazon.ws.emr.hadoop.fs.EmrFileSystem not found 오류 수정  (0) 2019.10.30
[oozie][slf4j] SLF4J: Class path contains multiple SLF4J bindings. 오류  (1) 2019.10.25
[oozie] 우지 워크플로우(workflow) 기본 스펙 및 실행  (0) 2019.04.19
[oozie] 코디네이터(coordinator)의 일자 변환 EL 함수 사용법  (0) 2019.03.19
[oozie] 우지의 HDFS EL 함수 알아보기  (0) 2019.02.13
'빅데이터/oozie' 카테고리의 다른 글
  • [oozie][EMR] EMR Oozie 실행시 java.lang.ClassNotFoundException: Class com.amazon.ws.emr.hadoop.fs.EmrFileSystem not found 오류 수정
  • [oozie][slf4j] SLF4J: Class path contains multiple SLF4J bindings. 오류
  • [oozie] 우지 워크플로우(workflow) 기본 스펙 및 실행
  • [oozie] 코디네이터(coordinator)의 일자 변환 EL 함수 사용법
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    Tez
    다이나믹
    파이썬
    HDFS
    emr
    HIVE
    하둡
    S3
    정올
    Hadoop
    SPARK
    ubuntu
    알고리즘
    AWS
    oozie
    error
    java
    백준
    하이브
    airflow
    mysql
    오류
    hbase
    yarn
    Python
    bash
    build
    nodejs
    k8s
    Linux
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[oozie] 우지 액션(action) 체크 설정 변경하기
상단으로

티스토리툴바