我正在尝试使用YAML文件中提到的配置创建dataproc集群(使用导入(:
我成功使用的命令:
$ gcloud beta dataproc clusters import $CLUSTER_NAME --region=$REGION
--source=cluster_conf_file.yaml
后来,我尝试添加HABSE组件,它是使用属性--optional-components
:的可用可选组件的一部分
$ gcloud beta dataproc clusters import $CLUSTER_NAME --optional-components=HBASE --region=$REGION
--source=cluster_conf_file.yaml
(参考文件:https://cloud.google.com/dataproc/docs/concepts/components/hbase#installing_the_component)
导致以下错误:
ERROR: (gcloud.beta.dataproc.clusters.import) unrecognized arguments: --optional-components=HBASE
然后,我尝试通过引用此文档在YAML文件中添加属性--optional-components
作为optionalComponents
(而不是通过命令行(。
样品YAML:
config:
endpointConfig:
enableHttpPortAccess: BOOLEAN_VALUE
configBucket: BUCKET_NAME
gceClusterConfig:
serviceAccount: SERVICE_ACCOUNT
subnetworkUri: SUBNETWORK_URI
tags:
- Tag1
- TAG2
optionalComponents: <---- Attribute causing error
- HBASE
softwareConfig:
imageVersion: IMAGE_VERSION
properties:
PROPERTY: VALUE
.
.
.
masterConfig:
diskConfig:
bootDiskSizeGb: SIZE
bootDiskType: TYPE
machineTypeUri: TYPE_URI
numInstances: COUNT
导致以下错误:
ERROR: (gcloud.dataproc.clusters.import) INVALID_ARGUMENT: Invalid JSON payload received. Unknown name "optionalComponents" at 'cluster.config': Cannot find field.
- '@type': type.googleapis.com/google.rpc.BadRequest
fieldViolations:
- description: "Invalid JSON payload received. Unknown name "optionalComponents"
at 'cluster.config': Cannot find field."
field: cluster.config
有办法解决这个问题吗?
optionalComponents
应在config.softwareConfig
:下
config:
...
softwareConfig:
imageVersion: IMAGE_VERSION
optionalComponents:
- ZOOKEEPER
- HBASE
您可以通过首先创建一个带有可选组件的集群,然后将其导出到YAML文件来证明这一点。