无法在 Google DataProc 上运行 Spark 集群

无法在 Google DataProc 上运行 Spark 集群

我在 Google Data Proc 上运行一个 6 节点的 spark 集群,在启动 spark 并执行基本操作的几分钟内,我收到以下错误

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 MB

以下是我的集群配置的详细信息

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 vCPU,7.2 GB 内存),但我无法启动实例,因为我收到以下错误

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

所以我不确定应该怎么做才能解决这个问题。我对 Google Cloud Platform 还很陌生,如果能帮助我解决这个问题,我将不胜感激。这是一个非常关键的项目

答案1

根据错误,您已达到 GCP 区域 australia-southeast1 的 CPU 配额限制。您至少有两个选择 -

  1. 请求配额增加用于计算引擎 CPU。访问 IAM 中的配额页面,在位置下选择您的区域,选择“计算引擎 API CPU”,然后单击“编辑配额”以请求增加配额。

    直接链接(请更改“YOUR-GCP-PROJECT-ID”) -https://console.cloud.google.com/iam-admin/quotas?project=YOUR-GCP-PROJECT-ID&location=australia-southeast1

  2. 创建具有较少工作节点或较小 vCPU 机器类型的 dataproc 集群。如果提供的标准机器类型不符合您的要求,请尝试自定义机器类型

您还可以使用 gcloud cli 工具检查 CPU 配额限制 -

$ 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

相关内容