Назад | Перейти на главную страницу

Невозможно запустить Spark Cluster в Google DataProc

Я запускаю 6-узловой искровый кластер в Google Data Proc, и в течение нескольких минут после запуска искры и выполнения основных операций я получаю следующую ошибку

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000fbe00000, 24641536, 0) failed; error='Cannot allocate memory' (errno=12)
There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 24641536 bytes for committing reserved memory.
An error report file with more information is saved as:/home/chris/hs_err_pid21047.log

Я выполнил только две команды:

data = (
     spark.read.format("text")
    .option("header", "true")
    .option("inferSchema", "true")
    .load("gs://bucketpath/csv")
)
data.show()

Файл csv хранится в ведре хранилища Google, а размер файла составляет 170 МБ.

Ниже приведены подробные сведения о конфигурации моего кластера.

Name    cluster
Region  australia-southeast1
Zone    australia-southeast1-b
Master node 
Machine type    n1-highcpu-4 (4 vCPU, 3.60 GB memory)
Primary disk type   pd-standard
Primary disk size   50 GB
Worker nodes    5
Machine type    n1-highcpu-4 (4 vCPU, 3.60 GB memory)
Primary disk type   pd-standard
Primary disk size   15 GB
Local SSDs  0
Preemptible worker nodes    0
Cloud Storage staging bucket    dataproc-78f5e64b-a26d-4fe4-bcf9-e1b894db9d8f-au-southeast1
Subnetwork  default
Network tags    None
Internal IP only    No
Image version   1.3.14-deb8

Это выглядело как проблема с памятью, поэтому я попытался изменить тип машины на n1-highcpu-8 (8 виртуальных ЦП, 7,2 ГБ памяти), однако я не могу запустить сообщение экземпляров, поскольку я получаю следующую ошибку

Quota 'CPUS' exceeded. Limit: 24.0 in region australia-southeast1.

Поэтому я не уверен, что нужно делать, чтобы решить эту проблему. Я новичок в Google Cloud Platform и буду очень признателен за любую помощь, чтобы решить эту проблему. Это для сверхкритического проекта

Из-за ошибки вы достигли предела квоты ЦП для своего региона GCP - австралия-юго-восток1. У вас есть как минимум два варианта -

  1. Запросить увеличение квоты для процессоров вычислительных машин. Посетите страницу квот в IAM, выберите свой регион в разделе «Местоположение», выберите «ЦП Compute Engine API» и нажмите «Изменить квоту», чтобы запросить увеличение.

    Прямая ссылка (измените "YOUR-GCP-PROJECT-ID") - https://console.cloud.google.com/iam-admin/quotas?project=YOUR-GCP-PROJECT-ID&location=australia-southeast1

  2. Создайте кластер dataproc с меньшим количеством рабочих узлов ИЛИ небольшими типами машин vCPU. Если стандартные типы машин не соответствуют вашим требованиям, попробуйте нестандартные типы машин.

Вы также можете проверить лимит квоты ЦП с помощью инструмента gcloud cli -

$ gcloud compute regions list --filter='name=australia-southeast1' NAME CPUS DISKS_GB ADDRESSES RESERVED_ADDRESSES STATUS TURNDOWN_DATE australia-southeast1 0/8 0/2048 0/8 0/1 UP