创建集群
要求:
名称:集群名称必须以小写字母开头,后面最多可跟 51 个小写字母、数字和连字符,但不能以连字符结尾。
集群区域:您必须为集群指定一个 Compute Engine 区域(例如
us-east1或europe-west1),以便在该区域内隔离集群资源,例如存储在 Cloud Storage 中的虚拟机实例和集群元数据。连接性:Managed Service for Apache Spark 集群中的 Compute Engine 虚拟机实例(虚拟机)包含主虚拟机和工作器虚拟机,该实例需要具有完整的内部 IP 网络交叉连接性。
defaultVPC 网络可提供此连接(请参阅 Managed Service for Apache Spark 集群网络配置)。机器类型(推荐):虽然指定机器类型是可选的,但 Google 建议您为集群中的主虚拟机和工作器虚拟机明确选择机器类型。 如果您未指定机器类型,Managed Service for Apache Spark 会根据资源可用性动态选择机器类型。这种动态选择可能会导致费用和性能出现变化。
控制台
打开 Google Cloud 控制台创建集群页面,以显示默认集群设置。您可以确认或更改显示的默认设置,然后点击其他配置以进一步自定义集群。
点击创建集群以创建集群。集群名称显示在集群页面中,预配集群后,其状态会更新为 Running。点击集群名称以打开集群详情页面,您可以在其中检查集群的作业、实例和配置设置,还可以连接到集群上运行的网页界面。
gcloud
如需在命令行中创建 Managed Service for Apache Spark 集群,请在终端窗口或 Cloud Shell 中以本地方式运行 gcloud dataproc clusters create 命令。
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --master-machine-type=MASTER_MACHINE_TYPE \ --worker-machine-type=WORKER_MACHINE_TYPE
该命令会创建一个集群。虽然主节点和工作器机器类型是可选的,但建议使用 --master-machine-type 和 --worker-machine-type 标志(例如 n4-standard-4)明确指定它们,以确保成本和性能的稳定性。如果您未指定机器类型,系统会根据资源可用性动态选择默认机器类型。如需了解如何使用命令行标志自定义集群设置,请参阅 gcloud dataproc clusters create 命令。
使用 YAML 文件创建集群
- 运行以下
gcloud命令,以将现有 Managed Service for Apache Spark 集群的配置导出到cluster.yaml文件中。gcloud dataproc clusters export EXISTING_CLUSTER_NAME \ --region=REGION \ --destination=cluster.yaml
- 通过导入 YAML 文件配置来创建新集群。
gcloud dataproc clusters import NEW_CLUSTER_NAME \ --region=REGION \ --source=cluster.yaml
**注意:** 在导出操作期间,集群特有的字段(例如集群名称)、仅限输出的字段和自动应用的标签会被过滤掉。在用于创建集群的导入的 YAML 文件中,不允许使用这些字段。
REST
本部分介绍如何创建集群。虽然指定机器类型是可选的,但建议您在 master_config 和 worker_config(例如 n4-standard-4)中明确包含 machine_type_uri,以确保费用和性能保持一致。如果您未指定机器类型,系统会根据资源可用性动态选择默认机器类型。
在使用任何请求数据之前,请先进行以下替换:
- CLUSTER_NAME:集群名称
- PROJECT: Google Cloud 项目 ID
- REGION:要在其中创建集群的可用 Compute Engine 区域。
- ZONE:要在其中创建集群的所选区域内的可选可用区。
- MASTER_MACHINE_TYPE:(推荐)主节点的机器类型(例如
n4-standard-4)。 - WORKER_MACHINE_TYPE:(推荐)工作器节点的机器类型(例如
n4-standard-4)。
HTTP 方法和网址:
POST https://dataproc.googleapis.com/v1/projects/PROJECT/regions/REGION/clusters
请求 JSON 正文:
{
"project_id":"PROJECT",
"cluster_name":"CLUSTER_NAME",
"config":{
"master_config":{
"num_instances":1,
"machine_type_uri":"MASTER_MACHINE_TYPE",
"image_uri":""
},
"softwareConfig": {
"imageVersion": "",
"properties": {},
"optionalComponents": []
},
"worker_config":{
"num_instances":2,
"machine_type_uri":"WORKER_MACHINE_TYPE",
"image_uri":""
},
"gce_cluster_config":{
"zone_uri":"ZONE"
}
}
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/PROJECT/regions/REGION/operations/b5706e31......",
"metadata": {
"@type": "type.googleapis.com/google.cloud.dataproc.v1.ClusterOperationMetadata",
"clusterName": "CLUSTER_NAME",
"clusterUuid": "5fe882b2-...",
"status": {
"state": "PENDING",
"innerState": "PENDING",
"stateStartTime": "2019-11-21T00:37:56.220Z"
},
"operationType": "CREATE",
"description": "Create cluster with 2 workers",
"warnings": [
"For PD-Standard without local SSDs, we strongly recommend provisioning 1TB ...""
]
}
}