创建不超过配额的集群

时间:2019-08-13 18:01:05

标签: google-cloud-platform google-cloud-dataproc

尝试创建dataproc集群时,出现“配额超过”错误。

错误:(gcloud.beta.dataproc.clusters.create)INVALID_ARGUMENT:“ DISKS_TOTAL_GB”配额不足。请求3000.0,可用2048.0。

我更改了计算机类型,并将工作程序的数量减少到2个。此外,如果我指定主引导磁盘和工作程序引导磁盘的大小,则会得到无法识别的参数错误

我正在使用GCP免费套餐。我正在尝试遵循Google Codelab的步骤-https://codelabs.developers.google.com/codelabs/pyspark-bigquery/index.html?index=..%2F..index#5

我为此GCP项目启用了三个API-计算引擎,数据处理和大查询。

我已经将机器类型设置如下: 工人机器类型为n1-standard-2 主机类型为n1-standard-2

第一次尝试

gcloud beta dataproc clusters create ${CLUSTER_NAME} \
 --zone=${ZONE} \
 --worker-machine-type n1-standard-8 \
 --num-workers 4 \
 --image-version 1.4-debian9 \
 --initialization-actions gs://dataproc-initialization-actions/python/pip-install.sh \
 --metadata 'PIP_PACKAGES=google-cloud-storage' \
 --optional-components=ANACONDA \
 --enable-component-gateway 

第二次尝试:帮助消除了一些配额错误

 gcloud beta dataproc clusters create ${CLUSTER_NAME} \
     --zone=${ZONE} \
     --worker-machine-type n1-standard-2 \
     --master-machine-type n1-standard-2 \
     --num-workers 2 \
     --image-version 1.4-debian9 \
     --initialization-actions gs://dataproc-initialization-actions/python/pip-install.sh \
     --metadata 'PIP_PACKAGES=google-cloud-storage' \
     --optional-components=ANACONDA \
     --enable-component-gateway

第三次尝试

gcloud beta dataproc clusters create ${CLUSTER_NAME} \
     --zone=${ZONE} \
     --master-machine-type=n1-standard-2 \
     --master-boot-disk-size=500GB \ 
     --worker-machine-type=n1-standard-2 \
     --worker-boot-disk-size=500GB \ 
     --num-workers=2 \
     --image-version=1.4-debian9 \
     --initialization-actions=gs://dataproc-initialization-actions/python/pip-install.sh \
     --metadata='PIP_PACKAGES=google-cloud-storage' \
     --optional-components=ANACONDA \
     --enable-component-gateway

我希望上面的命令可以创建集群,而不是在参数-master-boot-disk-size = 500GB之后看到无法识别的参数消息(请参见下面的错误消息)。

gcloud beta dataproc集群创建$ {CLUSTER_NAME} \

 --zone=${ZONE} \
 --master-machine-type=n1-standard-2 \
 --master-boot-disk-size=500GB \
     

错误:(gcloud.beta.dataproc.clusters.create)无法识别的参数:

enter image description here

2 个答案:

答案 0 :(得分:1)

使用免费层时的一般建议是使用单节点群集。他们足够擅长踢轮胎,看看情况如何。这应该有助于解决配额问题:

https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/single-node-clusters

答案 1 :(得分:1)

在您指定磁盘大小的行上的反斜杠后有多余的空间:

$ hexdump -C foop.txt
00000000  67 63 6c 6f 75 64 20 62  65 74 61 20 64 61 74 61  |gcloud beta data|
00000010  70 72 6f 63 20 63 6c 75  73 74 65 72 73 20 63 72  |proc clusters cr|
00000020  65 61 74 65 20 24 7b 43  4c 55 53 54 45 52 5f 4e  |eate ${CLUSTER_N|
00000030  41 4d 45 7d 20 5c 0a 20  20 20 20 20 2d 2d 7a 6f  |AME} \.     --zo|
00000040  6e 65 3d 24 7b 5a 4f 4e  45 7d 20 5c 0a 20 20 20  |ne=${ZONE} \.   |
00000050  20 20 2d 2d 6d 61 73 74  65 72 2d 6d 61 63 68 69  |  --master-machi|
00000060  6e 65 2d 74 79 70 65 3d  6e 31 2d 73 74 61 6e 64  |ne-type=n1-stand|
00000070  61 72 64 2d 32 20 5c 0a  20 20 20 20 20 2d 2d 6d  |ard-2 \.     --m|
00000080  61 73 74 65 72 2d 62 6f  6f 74 2d 64 69 73 6b 2d  |aster-boot-disk-|
00000090  73 69 7a 65 3d 35 30 30  47 42 20 5c 20 0a 20 20  |size=500GB \ .  |
000000a0  20 20 20 2d 2d 77 6f 72  6b 65 72 2d 6d 61 63 68  |   --worker-mach|
000000b0  69 6e 65 2d 74 79 70 65  3d 6e 31 2d 73 74 61 6e  |ine-type=n1-stan|
000000c0  64 61 72 64 2d 32 20 5c  0a 20 20 20 20 20 2d 2d  |dard-2 \.     --|
000000d0  77 6f 72 6b 65 72 2d 62  6f 6f 74 2d 64 69 73 6b  |worker-boot-disk|
000000e0  2d 73 69 7a 65 3d 35 30  30 47 42 20 5c 20 0a 20  |-size=500GB \ . |
000000f0  20 20 20 20 2d 2d 6e 75  6d 2d 77 6f 72 6b 65 72  |    --num-worker|
00000100  73 3d 32 20 5c 0a 20 20  20 20 20 2d 2d 69 6d 61  |s=2 \.     --ima|
00000110  67 65 2d 76 65 72 73 69  6f 6e 3d 31 2e 34 2d 64  |ge-version=1.4-d|
00000120  65 62 69 61 6e 39 20 5c  0a 20 20 20 20 20 2d 2d  |ebian9 \.     --|
00000130  69 6e 69 74 69 61 6c 69  7a 61 74 69 6f 6e 2d 61  |initialization-a|
00000140  63 74 69 6f 6e 73 3d 67  73 3a 2f 2f 64 61 74 61  |ctions=gs://data|
00000150  70 72 6f 63 2d 69 6e 69  74 69 61 6c 69 7a 61 74  |proc-initializat|
00000160  69 6f 6e 2d 61 63 74 69  6f 6e 73 2f 70 79 74 68  |ion-actions/pyth|
00000170  6f 6e 2f 70 69 70 2d 69  6e 73 74 61 6c 6c 2e 73  |on/pip-install.s|
00000180  68 20 5c 0a 20 20 20 20  20 2d 2d 6d 65 74 61 64  |h \.     --metad|
00000190  61 74 61 3d 27 50 49 50  5f 50 41 43 4b 41 47 45  |ata='PIP_PACKAGE|
000001a0  53 3d 67 6f 6f 67 6c 65  2d 63 6c 6f 75 64 2d 73  |S=google-cloud-s|
000001b0  74 6f 72 61 67 65 27 20  5c 0a 20 20 20 20 20 2d  |torage' \.     -|
000001c0  2d 6f 70 74 69 6f 6e 61  6c 2d 63 6f 6d 70 6f 6e  |-optional-compon|
000001d0  65 6e 74 73 3d 41 4e 41  43 4f 4e 44 41 20 5c 0a  |ents=ANACONDA \.|
000001e0  20 20 20 20 20 2d 2d 65  6e 61 62 6c 65 2d 63 6f  |     --enable-co|
000001f0  6d 70 6f 6e 65 6e 74 2d  67 61 74 65 77 61 79 0a  |mponent-gateway.|

任何gcloud命令,您尝试使用反斜杠在下一行继续,但实际上在反斜杠后键入一个空格将尝试将空间本身注册为命令-通常,反斜杠的目的是在此之前\n换行符,以转义而不是结束当前命令;如果反斜杠在其他空格之前,则仅适用于转义空格,随后的换行符实际上标记了命令的结尾,然后空格字符作为真正的“参数”传递给了gcloud,而不是被外壳修剪像往常一样。