[HADOOP] 아파치 하둡 얀 - 코어의 활용도 낮춤
HADOOP아파치 하둡 얀 - 코어의 활용도 낮춤
yarn-site.xml의 설정을 어느 정도 조정했는지, 즉 아래의 모든 옵션을 사용하더라도
yarn.scheduler.minimum-allocation-vcores
yarn.nodemanager.resource.memory-mb
yarn.nodemanager.resource.cpu-vcores
yarn.scheduler.maximum-allocation-mb
yarn.scheduler.maximum-allocation-vcores
난 아직도 내 응용 프로그램을 얻을 수 없다 즉 스파크 클러스터의 모든 코어를 활용합니다. 스파크 집행자는 사용 가능한 모든 메모리를 올바르게 차지하는 것처럼 보이지만 각각의 집행자는 계속해서 하나의 코어 만 가지고 계속 유지합니다.
다음은 spark-defaults.conf에 구성된 옵션입니다.
spark.executor.cores 3
spark.executor.memory 5100m
spark.yarn.executor.memoryOverhead 800
spark.driver.memory 2g
spark.yarn.driver.memoryOverhead 400
spark.executor.instances 28
spark.reducer.maxMbInFlight 120
spark.shuffle.file.buffer.kb 200
spark.executor.cores는 3으로 설정되어 있지만 작동하지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?
해결법
-
==============================
1.문제는 yarn-site.xml이나 spark-defaults.conf가 아니라 executor에게 코어를 할당하는 리소스 계산기 또는 MapReduce 작업의 경우 Mappers / Reducers에 있습니다.
문제는 yarn-site.xml이나 spark-defaults.conf가 아니라 executor에게 코어를 할당하는 리소스 계산기 또는 MapReduce 작업의 경우 Mappers / Reducers에 있습니다.
기본 리소스 계산기 인 org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator는 컨테이너를 할당하기 위해 메모리 정보 만 사용하며 CPU 예약은 기본적으로 사용되지 않습니다. 메모리와 CPU를 모두 사용하려면 리소스 계산기를 capacity-scheduler.xml 파일의 org.apache.hadoop.yarn.util.resource.DominantResourceCalculator로 변경해야합니다.
다음은 변경해야 할 사항입니다.
<property> <name>yarn.scheduler.capacity.resource-calculator</name> <value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value> </property>
-
==============================
2.비슷한 종류의 문제가 있었고 코드에서 스파크를 설정했습니다. 실행자 .5로 표시됩니다. 비록 그것은 단지 기본 코어 인 1을 사용하고 있었지만. 스파크 UI 및 환경 탭에서 나는 5 개의 코어를보고있었습니다. 그러나 집행자 탭을 확인하는 동안 나는 1 개의 프로세스가 실행 프로그램에 대해 실행 상태에 있다는 것을 알 수있었습니다. 스파크 버전 1.6.3을 사용하고있었습니다.
비슷한 종류의 문제가 있었고 코드에서 스파크를 설정했습니다. 실행자 .5로 표시됩니다. 비록 그것은 단지 기본 코어 인 1을 사용하고 있었지만. 스파크 UI 및 환경 탭에서 나는 5 개의 코어를보고있었습니다. 그러나 집행자 탭을 확인하는 동안 나는 1 개의 프로세스가 실행 프로그램에 대해 실행 상태에 있다는 것을 알 수있었습니다. 스파크 버전 1.6.3을 사용하고있었습니다.
그래서 spark-submit 명령을 다음과 같이 치려고했습니다. --conf spark.executor.cores = 5 5 코어를 사용하는 것으로 정상적으로 작동합니다.
또는 단지
--executor-core 5 또한 작동합니다.
from https://stackoverflow.com/questions/29964792/apache-hadoop-yarn-underutilization-of-cores by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 내에서 여러 파일을 하나로 병합 (0) | 2019.05.31 |
---|---|
[HADOOP] 하이브에 ORC로 저장된 테이블에 .txt 파일의 데이터로드 (0) | 2019.05.31 |
[HADOOP] Hive 란 무엇인가 : org.apache.hadoop.hive.ql.exec.MapRedTask의 코드 2를 반환하십시오. (0) | 2019.05.31 |
[HADOOP] dfs 파일의 블록 크기 변경 (0) | 2019.05.31 |
[HADOOP] HDFS의 기본 네임 노드 포트는 50070입니다. 그러나 나는 8020 또는 9000 어떤 장소를 보았습니다. (0) | 2019.05.31 |