借助 Managed Service for Apache Spark,您可以指定 Compute Engine 区域(例如 us-east1 或 europe-west1),以确定集群的运行位置。该服务会将资源(包括虚拟机实例、Cloud Storage 和元数据存储)隔离在该区域内的单个可用区中。
创建集群时,您可以选择性地选择可用区,例如 us-east1-a 或 europe-west1-b。如果您省略此参数,Managed Service for Apache Spark 自动选择可用区功能会自动在该区域内选择一个可用区。
地区名称
区域名称遵循基于 Compute Engine 区域的标准命名惯例。例如,美国中部区域的名称为 us-central1,西欧区域的名称为 europe-west1。运行 gcloud compute regions list 命令以查看可用区域的列表。
位置和区域端点
Google Cloud API 可以为位置和区域端点提供支持:
位置端点可确保通过专用连接访问时,传输中的数据仍保留在指定位置。
格式:
{location}-{service}.googleapis.com示例:
us-central-1-dataproc.googleapis.com区域端点可确保通过专用连接或公共互联网访问时,传输中的数据仍保留在指定位置。
格式:
{service}.{location}.rep.googleapis.com示例:
dataproc.us-central1.rep.googleapis.com
默认的 Managed Service for Apache Spark 端点是位置端点。如需了解 Managed Service for Apache Spark 对区域端点的支持,请参阅 Managed Service for Apache Spark 版本说明。
创建集群
控制台
在 Google Cloud 控制台的创建集群页面上的定义集群部分的区域字段中,指定 Compute Engine 区域。
Google Cloud CLI
创建集群时,请使用必需的 --region 标志指定区域。
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ other args ...
REST API
在 clusters.create 请求中使用 REGION 网址参数指定集群区域。
gRPC
使用以下模式将客户端传输地址设置为位置端点:
REGION-dataproc.googleapis.com
Python (google-cloud-python) 示例:
from google.cloud import dataproc_v1
from google.cloud.dataproc_v1.gapic.transports import cluster_controller_grpc_transport
transport = cluster_controller_grpc_transport.ClusterControllerGrpcTransport(
address='us-central1-dataproc.googleapis.com:443')
client = dataproc_v1.ClusterControllerClient(transport)
project_id = 'my-project'
region = 'us-central1'
cluster = {...}Java(google-cloud-java) 示例:
ClusterControllerSettings settings =
ClusterControllerSettings.newBuilder()
.setEndpoint("us-central1-dataproc.googleapis.com:443")
.build();
try (ClusterControllerClient clusterControllerClient = ClusterControllerClient.create(settings)) {
String projectId = "my-project";
String region = "us-central1";
Cluster cluster = Cluster.newBuilder().build();
Cluster response =
clusterControllerClient.createClusterAsync(projectId, region, cluster).get();
}