티스토리 뷰

728x90
[
  {
    "Classification": "spark-env",
    "Configurations": [
      {
        "Classification": "export",
        "Properties": {
          "JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64"
        }
      }
    ]
  },
  {
    "Classification": "spark-defaults",
    "Properties": {
      "spark.executorEnv.JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64",
      "spark.dynamicAllocation.enabled": "True"
    }
  },
  {
    "Classification": "hive-site",
    "Properties": {
      "hive.metastore.client.factory.class": "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory"
    }
  },
  {
    "Classification": "spark-hive-site",
    "Properties": {
      "hive.metastore.client.factory.class": "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory"
    }
  },
  {
    "Classification": "spark",
    "Properties": {
      "maximizeResourceAllocation": "true"
    }
  },
  {
    "Classification": "yarn-site",
    "Properties": {
      "yarn.nodemanager.resource.memory-mb": "40960",
      "yarn.scheduler.maximum-allocation-mb": "40960"
    }
  }
]

https://stackoverflow.com/questions/43826703/difference-between-yarn-scheduler-maximum-allocation-mb-and-yarn-nodemanager

 

Difference between `yarn.scheduler.maximum-allocation-mb` and `yarn.nodemanager.resource.memory-mb`?

What is difference between yarn.scheduler.maximum-allocation-mb and yarn.nodemanager.resource.memory-mb? I see both of these in yarn-site.xml and I see the explanations here. yarn.scheduler.max...

stackoverflow.com

 

---

 

https://wooono.tistory.com/145

 

[Spark] java.lang.IllegalArgumentException: Required executor memory (13312), overhead (2496 MB), and PySpark memory (0 MB) is a

우선 YARN Resource의 개념에 대해 간단하게 알고 넘어가자 YARN Resource 개념 클러스터에 있는 노드 하나의 물리적 자원이 다음과 같다고 가정했을 때 CPU : 24 Memory : 128GB 다음 그림과 같이 YARN 리소스

wooono.tistory.com

  • yarn.nodemanager.resource.memory-mb
    • nodemanager의 메모리 크기
    • 한 노드의 물리 메모리가 128GB이므로, OS를 위한 8GB 정도를 제외해 120GB로 설정
  • yarn.scheduler.maximum-allocation-mb
    • ResourceManager가 하나의 컨테이너 할당에 필요한 최대 메모리 크기
  • 따라서, "yarn.scheduler.maximum-allocation-mb" 값은 "yarn.nodemanager.resource.memory-mb" 값 이하로 설정해야한다.

---

 

https://wikidocs.net/27332

 

2-YARN 메모리 설정

YARN의 메모리 설정은 yarn-site.xml 파일을 수정하여 변경할 수 있습니다. 노드매니저의 메모리, CPU 개수와 컨테이너에 할당 할 수 있는 최대, 최소 메모리등을 설…

wikidocs.net

  • yarn.nodemanager.resource.memory-mb
    • 클러스터의 각 노드에서 컨테이너 운영에 설정할 수 있는 메모리의 총량
    • 노드의 OS를 운영할 메모리를 제외하고 설정
    • 기본값은 장비에 설정된 메모리의 80% 정도를 설정
      • 노드의 메모리가 32G인경우 운영체제를 위한 4G를 제외하고 28G를 설정
  • yarn.nodemanager.resource.cpu-vcores
    • 클러스터의 각 노드에서 컨테이너 운영에 설정할 수 있는 CPU의 개수
    • 기본값은 장비에 설치된 CPU의 80% 정도를 설정
      • 노드에 설치된 CPU가 40개일 경우 32를 설정
  • yarn.scheduler.maximum-allocation-mb
    • 하나의 컨테이너에 할당할 수 있는 메모리의 최대값
    • 8G가 기본 값
  • yarn.scheduler.minimum-allocation-mb
    • 하나의 컨테이너에 할당할 수 있는 메모리의 최소값
    • 1G가 기본값
  • yarn.nodemanager.vmem-pmem-ratio
    • 실제 메모리 대비 가상 메모리 사용 비율
    • mapreduce.map.memory.mb * 설정값의 비율로 사용 가능
    • 메모리를 1G로 설정하고, 이 값을 10으로 설정하면 가상메모리를 10G 사용
  • yarn.nodemanager.vmem-check-enabled
    • 가상 메모리에 대한 제한이 있는지 확인하여, true 일 경우 메모리 사용량을 넘어서면 컨테이너를 종료
    • false 로 설정하여 가상메모리는
  • yarn.nodemanager.pmem-check-enabled
    • 물리 메모리에 대한 제한이 있는지 확인하여, true 일 경우 메모리 사용량을 넘어서면 컨테이너를 종료
728x90
댓글