spark on yarn cpu 사용

1861 단어 빅 데이터
yarn - site. xml 에서 virutal core 의 개 수 를 설정 할 수 있 습 니 다. physical core 의 개 수 는 아 닙 니 다. 관련 설정 은 다음 과 같 습 니 다.
  yarn.nodemanager.resource.cpu-vcores   30   NodeManager 의 총 사용 가능 한 가상 CPU 개수
virutal core 의 개념 은 모든 physical cpu 를 8 개의 예약 가능 한 대기 열 로 구성 하 는 것 입 니 다. Liux 는 작업 이 있 을 때 모든 physical cpu 를 예약 하여 부하 균형 을 이 룰 수 있 도록 합 니 다.pc 에 16 개의 physical cpu 가 있다 고 가정 하면 하나의 container 만 있 을 때 이 container 는 16 개의 cpu 를 사용 합 니 다. 2 개의 container 가 있 으 면 각각 8 개의 physical cpu 를 사용 합 니 다.
spark 가 실 행 될 때 -- executor - cores 를 통 해 지정 한 cpu 개 수 는 모두 vcore 의 개수 이기 때문에 spark on yarn 이 프로그램 을 실행 할 때 -- executor - cores 를 통 해 vcore 개 수 를 1 로 지정 하지만 모든 cpu 는 매우 바쁘다.
    기본 적 인 상황 에서 메모리 에 따라 자원 을 스케줄 링 하기 때문에 spark on yarn 이 실 행 될 때 -- executor - core 를 통 해 vcore 개 수 를 N 으로 지정 하 더 라 도 yarn 의 자원 관리 페이지 에서 사용 하 는 vcore 개 수 는 1 입 니 다. 관련 설정 은 capacity - scheduler. xml 파일 에 있 습 니 다.

    yarn.scheduler.capacity.resource-calculator
    org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator
    
      The ResourceCalculator implementation to be used to compare
      Resources in the scheduler.
      The default i.e. DefaultResourceCalculator only uses Memory while
      DominantResourceCalculator uses dominant-resource to compare
      multi-dimensional resources such as Memory, CPU etc.
    
  
이 설정 을 다음 과 같이 수정 해 야 합 니 다.

  yarn.scheduler.capacity.resource-calculator
  
  org.apache.hadoop.yarn.util.resource.DominantResourceCalculator

 이렇게 하면 효과 가 있어 요.
cpu 스케줄 링 을 할 때 는 cpu 프로 세 스 격 리 효 과 를 얻 기 위해 CGroups 체 제 를 시작 해 야 하지만 windows 에 서 는 CGroups 체 제 를 지원 하지 않 습 니 다.

좋은 웹페이지 즐겨찾기