Google-Cloud-Platform

無法在 Google DataProc 上執行 Spark 集群

  • October 31, 2018

我在 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云平台的新手,我非常感謝任何幫助來解決這個問題。這對於一個超級關鍵的項目

根據錯誤,您達到了 GCP 區域 - australia-southeast1 的 CPU 配額限制。你至少有兩個選擇——

  1. 請求增加計算引擎 CPU的配額。訪問 IAM 中的配額頁面,在 location 下選擇您的區域,選擇“Compute Engine API CPUs”並點擊“Edit Quota”以請求增加。

直接連結(請更改“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

引用自:https://serverfault.com/questions/937970