发送反馈
创建集群
Dataproc 可防止创建受 1.3.95、1.4.77、1.5.53 和 2.0.27 版之前的映像版本影响的集群,这些版本受 Apache Log4j 安全漏洞 影响。Dataproc 还会阻止为 Dataproc 映像版本 0.x、1.0.x、1.1.x 和 1.2.x 创建集群。Dataproc 建议您尽可能使用最新的次要映像版本创建 Dataproc 集群。
映像版本
log4j 版本
客户指导
2.0.29、1.5.55 和 1.4.79 或更高版本
log4j.2.17.1
建议
2.0.28、1.5.54 和 1.4.78
log4j.2.17.0
建议
2.0.27、1.5.53 和 1.4.77
log4j.2.16.0
强烈建议
2.0.26、1.5.52 和 1.4.76 或更早版本
旧版
停止使用
如需了解特定映像和 log4j
更新信息,请参阅 Dataproc 版本说明 。
如何创建 Dataproc 集群
要求:
名称 :集群名称必须以小写字母开头,后面最多可跟 54 个小写字母、数字或连字符,但不能以连字符结尾。
集群区域 :您必须为集群指定 global
或特定区域。全局区域为特殊的多地区端点,能够将实例部署到任何用户指定的 Compute Engine 区域。您还可以指定不同的区域(例如 us-east1
或 europe-west1
),以在用户指定的区域内隔离集群资源(例如虚拟机实例和存储在 Cloud Storage 中的集群元数据)。
如需详细了解全球和区域端点,请参阅区域端点 。
如需了解如何选择区域,请参阅可用区域和可用区 。您还可以运行 gcloud compute regions list
命令以显示可用区域的列表。
连接 :Dataproc 集群中的 Compute Engine 虚拟机实例 (VM) 由主实例和工作器虚拟机组成,需要完整的内部 IP 网络交叉连接。default
VPC 网络 提供此连接(请参阅 Dataproc 集群网络配置 )。
Dataproc 最佳做法指南 提供了让集群达到最佳性能的相关提示,包括位于同一 Compute Engine 区域的集群和 Cloud Storage 存储分区。
gcloud
如需在命令行上创建 Dataproc 集群,请在终端窗口或 Cloud Shell 中本地运行 Cloud SDK gcloud dataproc 集群创建 命令。
gcloud dataproc clusters create cluster-name \
--region=region
上述命令会利用适用于您主虚拟机实例和工作器虚拟机实例、磁盘大小和类型、网络类型、部署集群的区域和地区的默认 Dataproc 服务设置以及其他集群设置创建一个集群。要了解如何使用命令行标记自定义集群设置,请参阅 gcloud dataproc clusters create 命令。
使用 YAML 文件创建集群
请运行以下 gcloud
命令将现有的 Dataproc 集群的配置导出到 YAML 文件中。
gcloud dataproc clusters export my-existing-cluster --destination cluster.yaml
通过导入 YAML 文件配置来创建新集群。
gcloud dataproc clusters import my-new-cluster --source cluster.yaml
注意 :在执行导出操作的过程中,特定于集群的字段(例如集群名称)、仅限输出的字段和自动应用的标签会被过滤掉。在用于创建集群的导入的 YAML 文件中,不允许使用这些字段。
注意 :您可以在 Dataproc Cloud Console 的左侧面板中,点击左侧面板底部的等效 REST 或命令行 集群 页面,让控制台构建等效的 API REST 请求或 gcloud
工具命令以在您的代码中或从命令行创建集群。
REST 和命令行
本部分介绍如何创建采用所需值和默认配置(1 个主节点,2 个工作器节点)的集群。
在使用任何请求数据之前,请先进行以下替换:
project-id :GCP 项目 ID
region :集群地区
clusterName :集群名称
HTTP 方法和网址:
POST https://dataproc.googleapis.com/v1/projects/project-id /regions/region /clusters
请求 JSON 正文:
{
"clusterName": "cluster-name ",
"config": {}
}
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://dataproc.googleapis.com/v1/projects/project-id /regions/region /clusters"
PowerShell (Windows)
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth application-default print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://dataproc.googleapis.com/v1/projects/project-id /regions/region /clusters" | Select-Object -Expand Content
您应该会收到类似以下内容的 JSON 响应:
{
"name": "projects/project-id /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 ...""
]
}
}
注意 :您可以点击 Dataproc Cloud Console 左侧边栏“创建集群 ”页面底部的等效 REST 或命令行 链接,让控制台构建等效的 API REST 请求或 gcloud
工具命令以在您的代码中或从命令行创建集群。
控制台
在浏览器的 Cloud Console 中打开 Dataproc 创建集群 页面,然后在在 Compute Engine 上创建 Dataproc 集群 页面上的计算引擎 行中的集群内点击创建 。选择“设置集群”面板,其中的字段填充默认值。您可以选择每个面板,然后确认或更改默认值以自定义您的集群。
单击创建 以创建集群。集群名称会显示在集群 页面中,集群预配完毕后,其状态会更新为“正在运行”。点击集群名称以打开集群详情页面,您可以在其中检查集群的作业、实例和配置设置,还可以连接到集群上运行的网页界面。
发送反馈
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-05-03 UTC.
[{
"type": "thumb-down",
"id": "hardToUnderstand",
"label":"很难理解"
},{
"type": "thumb-down",
"id": "incorrectInformationOrSampleCode",
"label":"信息或代码不正确"
},{
"type": "thumb-down",
"id": "missingTheInformationSamplesINeed",
"label":"没有我需要的信息/示例"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
需要向我们提供更多信息?