클러스터

클러스터 관리

cluster001

  1. ID
    • 클러스터를 생성하면 부여되는 아이디
    • AWS의 경우 EMR에서 부여한 ID이고, GCP의 경우 자체적으로 UUID를 생성하여 부여
  2. 클라우드
    • 클러스터가 생성된 클라우드
  3. 상태
    • 클러스터의 상태 정보 다음 상태 정보가 될 수 있음
    • [AWS]
      • TERMINATED : 종료 됨
      • TERMINATING : 종료 중
      • TERMINATED_WITH_ERRORS : 에러로 종료 됨
      • WATING :  대기 중
      • RUNNING : 동작 중
      • STARTING : 시작 중
      • BOOTSTRAPPING : bootstrapping 동작 중
    • [GCP]
      • TERMINATED : 종료 됨
      • DELETING : 종료 중
      • UNKNOWN : 상태를 알 수 없음
      • ERROR : 에러가 발생한 상태
      • CREATING : 생성 중
      • RUNNING : 동작 중
      • UPDATING : 업데이트 중
  4. 이름
    • 클러스터 생성 시 입력한 이름

cluster002

  1. 생성시간
    • 클러스터를 생성한 시간
  2. 경과시간
    • 클러스터가 생성된 후 경과된 시간
  3. 노드개수
    • Master, Core, Task 노드를 합한 수
  4. 생성자
    • 클러스터를 생성한 사용자의 아이디
  5. 스케줄 상태
    • 스케줄에 의한 클러스터의 시작/종료 상태 값
      • Manual Start : 수동으로 시작된 상태
      • Manual Stop : 수동으로 종료된 상태
      • Manual Error : 수동으로 시작 중 오류가 발생한 상태
      • Schedule Start : 스케줄에 의해 시작된 상태
      • Schedule Stop : 스케줄에 의해 종료된 상태
      • Schedule Error : 스케줄에 의해 시작 중 오류가 발생한 상태
      • Schedule Skip : Application이 동작 중으로 종료 스케줄이 스킵된 상태
  6. Action
    • Zeppelin, Jupyter, 스케줄 삭제, 스케줄 설정, 종료 기능이 있음

cluster003

  1. ID
    • 노드에 부여되는 아이디
    • AWS의 경우 EMR에서 부여한 인스턴스 그룹의 아이디 이고, GCP의 경우 자체 적으로 UUID-{노드 유형} 으로 부여
  2. 상태
    • 노드의 상태
    • [AWS]
      • PROVISIONING : 프로비저닝 중
      • BOOTSTRAPPING : bootstrapping 실행 중
      • RUNNING : 동작 중
      • RECONFIGURING : 재구성 상태
      • RESIZING : 노드 사이즈 변경 중
      • SUSPENDED : 일시 중지된 상태
      • TERMINATING : 종료 중
      • TERMINATED : 종료 됨
      • ARRESTED : 오류로 중지된 상태
      • SHUTTING_DOWN : 자동 종료시 마지막 단계 완료 후 상태
    • [GCP]
      • STOPPING : 중지 중
      • STOPPED : 중지 됨
      • SUSPENDING : 일시 중지 중
      • SUSPENDED : 일시 중지 됨
      • TERMINATED : 종료 됨
      • RUNNING : 실행 중
      • PROVISIONING : 리소스 할당 중
      • STAGING : 부팅 준비 중

cluster004

  1. 타입
    • 노드의 유형
  2. 인스턴스 유형
    • 노드를 생성할 때 사용한 인스턴스 유형
  3. 인스턴스 수
    • 노드가 사용하고 있는 인스턴스 수

클러스터 생성 방법

cluster005

  1. 검색 필터
    • 상태, 이름, 생성 시간, 클라우드, Account, 생성자로 리스트를 검색
  2. 클러스터 생성
    • 클러스터 생성 팝업을 표시
  3. 일반
    • 클러스터를 생성하기 위한 Cloud 계정을 선택하고 이름과 설명을 입력
    • Cloud 계정은 "계정" 메뉴에서 입력된 계정 중에 로그인 사용자에게 권한이 있는 목록이 드랍 박스로 표시
    • AWS일 경우 이름은 다음 패턴이어야 함
      • 유니코드 정규 표현 식 : [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
    • GCP일 경우 이름은 다음 패턴 이어야 함
      • 정규 표현 식 : (?:[a-z](?:[-a-z0-9]{0,49}[a-z0-9])?)
  4. 하드웨어
    • 템플릿 관리에서 입력한 템플릿을 선택
    • "일반"에서 선택한 Cloud 계정에 대한 템플릿 리스트가 드랍 박스로 표시
      • 노드의 인스턴스 수는 최대 노드 수를 초과 하여 지정 할 수 없음
      • 최대 노드 수를 변경하고 싶을 경우에는 해당 템플릿을 수정

cluster006

  1. 소프트웨어
    • 릴리즈 버전을 선택
    • ApplicationList에 기본으로 설치되는 Application이 표시
    • 다른 Application을 추가 설치 하고 싶을 경우 타입을 Default에서 Custom으로 변경하면 추가 설치 가능한 목록이 표시되며, 체크박스를 선택하면 생성 시 해당 Application들이 추가
      • GCP의 경우 Jupyter, Zeppelin을 추가 하기 위해서는 "하드웨어"의 인스턴스 유형의 메모리가 13GB 이상이 선택 되어야 함. (최소 인스턴스 타입 : n1-standard-4, n1-highmem-2, n1-highcpu-16, e2-standard-4, e2-highmem-2, e2-highcpu-16)

클러스터 종료 / 리플레쉬 / Zeppelin / Jupyter

cluster007

  1. 종료
    • 체크 박스가 체크된 클러스터를 종료
  2. 리플레쉬
    • 클러스터 리스트를 갱신
  3. Action
    • Zepplin : Zeppelin 사이트로 이동 (클러스터에 Zeppelin이 설치 되어 있어야 활성화)
    • Jupyter : Jupyter 사이트로 이동 (클러스터에 Jupyter가 설치되어 있어야 활성화)
    • 삭제 : 스케줄러를 삭제 (스케줄러가 등록 되어 있어야 활성화)
    • 스케줄러 설정 : 클러스터가 자동 시작/종료되는 스케줄러를 설정
      • 반복 주기 : 한번, 주중, 주말, 사용자 설정(월 ~ 일요일 중 사용자가 선택)
      • Application 동작 시 종료 금지 : 클러스터에 dpcore 사용자가 시작한 Application이 동작하고 있으면 종료하지 않음
    • 종료 : 클러스터를 종료
  4. 링크를 클릭하면 클러스터의 상세 페이지로 이동
  5. 화살표를 클릭하면 노드 정보가 리스트에서 펼쳐 지거나 접힘

cluster008

  1. 노드변경
    • 클러스터에 설정되어 있는 노드를 변경
    • 생성할 때 사용한 템플릿에 지정된 최대 노드 수를 초과 할 수 없음
      • 마스터 노드 수 : 마스터 노드의 수
      • 사용 중인 노드 수 : 마스터 노드, 코어 노드, 작업 노드, 선점형 노드 수의 합
      • 최대 사용 가능 노드 수 : 모든 노드 수의 합이 도달 할 수 있는 최대 수치

클러스터 관리 (상세)

요약

cluster009

  1. 뒤로가기
    • 화살표를 클릭하면 이전 화면인 클러스터 관리 페이지로 이동
  2. 요약
    • 탭을 클릭하면 요약 내용이 표시
  3. 어플리케이션 이력
    • 탭을 클릭하면 어플리케이션 이력 내용이 표시
  4. 클러스터 정보
    • 클러스터 상세 정보가 표시
    • [AWS]
      • 설명, 클라우드, 퍼블릭 DNS, 프라이빗 DNS, 생성 시간, 경과 시간, 생성자, Region, VPC, Subnet, EBS Root
    • [GCP]
      • 설명, 클라우드, 퍼블릭 IP, 프라이빗 IP, 생성 시간, 경과 시간, 생성자, Region, Zone, Network, Subnetwork, Master Disk, Worker Disk
  5. ID
    • 노드에 부여되는 아이디
    • AWS의 경우 EMR에서 부여한 인스턴스 그룹의 아이디 이고, GCP의 경우 자체 적으로 UUID-{노드 유형} 으로 부여

cluster010

  1. 상태
    • 노드의 상태
    • [AWS]
      • PROVISIONING : 프로비저닝 중
      • BOOTSTRAPPING : bootstrapping 실행 중
      • RUNNING : 동작 중
      • RECONFIGURING : 재구성 상태
      • RESIZING : 노드 사이즈 변경 중
      • SUSPENDED : 일시 중지된 상태
      • TERMINATING : 종료 중
      • TERMINATED : 종료 됨
      • ARRESTED : 오류로 중지된 상태
      • SHUTTING_DOWN : 자동 종료시 마지막 단계 완료 후 상태
    • [GCP]
      • STOPPING : 중지 중
      • STOPPED : 중지 됨
      • SUSPENDING : 일시 중지 중
      • SUSPENDED : 일시 중지 됨
      • TERMINATED : 종료 됨
      • RUNNING : 실행 중
      • PROVISIONING : 리소스 할당 중
      • STAGING : 부팅 준비 중
  2. 타입
    • 노드의 유형
  3. 인스턴스 유형
    • 노드를 생성할 때 사용한 인스턴스 유형
  4. 인스턴스 수
    • 노드가 사용하고 있는 인스턴스 수

어플리케이션 이력

cluster011

  1. Statistical Job State
    • 전체 Job 상태 정보
  2. Cluster Metrics
    • 현재 클러스터의 Metric 정보 종료된 클러스터의 정보는 불러오지 않음
  3. ID
    • Application의 아이디
  4. 이름
    • Application의 이름
  5. 타입
    • Application의 타입
  6. 생성시간
    • Application이 생성된 시간
  7. 종료시간
    • Application이 종료된 시간
  8. State
    • Application의 상태
      • NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED
  9. Final State
    • Application의 마지막 상태
      • UNDEFINED, SUCCEEDED, FAILED, KILLED

cluster012

  1. Allocated CPU VCore
    • Application에 할당 된 가상 코어, 단위 : virtual core-seconds
  2. Allocated Memory MB
    • Application에 할당 된 메모리, 단위 : megabyte-seconds
  3. Progress
    • Application의 진행 상태
      • Jupyter, Zeppelin 등 특정 Job은 10%가 유지

cluster013

  1. ID링크
    • 링크를 클릭하면 Application의 상세 이력 내용을 팝업으로 표시
  2. Application 상세이력
    • User : Application을 시작한 사용자
    • Name : Application 이름
    • Application Type : Application 타입
    • Application Tags : 콤마로 구분된 Application 태그들
    • Application Priority : Application의 우선 순위
    • YarnApplicationState : ResourceManager에 따른 응용 프로그램 상태 - NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED
    • Queue : Application이 제출된 대기열
    • FinalStatus Reported by AM: 완료된 Application의 최종 상태 - UNDEFINED, SUCCEEDED, FAILED, KILLED
    • Started : Application이 시작된 시간
    • Elapsed : Application의 경과 시간
    • Unmanaged : Application의 관리 여부
    • Application Node Label expression : Application이 기본적으로 실행될 것으로 예상되는 노드를 식별하는 데 사용되는 노드 레이블 표현식
    • AM container Node Label expression : Application의 AM 컨테이너가 실행될 노드를 식별하는 데 사용되는 노드 레이블 표현식
    • Aggregate Resource Allocation VCore : Application에 할당한 CPU 양 (virtual core-seconds)
    • Aggregate Resource Allocation Memory : Application에 할당한 Memory 양 (megabyte-seconds)
    • Diagnostics : 자세한 진단 정보