Dataproc自定义镜像创建受阻:需构建含Log4j漏洞版本集群的求助
解决Dataproc旧版本集群创建受限及自定义镜像生成步骤
1. 启动Cloud Shell
直接在Google Cloud控制台右上角点击>_图标,即可打开浏览器内置的Cloud Shell,无需额外安装工具。
2. 准备环境依赖
- 先更新gcloud命令行工具至最新版本:
gcloud components update - Cloud Shell默认自带Python3,可通过
python3 --version确认版本,随后安装脚本所需依赖:pip3 install google-api-python-client google-auth-httplib2 google-auth-oauthlib
3. 获取自定义镜像生成脚本
通过git克隆Dataproc官方自定义镜像仓库:
git clone https://github.com/GoogleCloudDataproc/custom-images.git cd custom-images
4. 配置并运行镜像生成脚本
前置准备
先创建一个GCS存储桶,用于存放镜像生成过程中的临时文件:
gsutil mb gs://你的存储桶名称
执行生成命令
替换命令中的占位符(项目ID、存储桶名称等),生成目标版本的自定义镜像:
python3 generate_custom_image.py \ --image-name=dataproc-old-1.3.94 \ --dataproc-version=1.3.94-debian10 \ --project=你的GCP项目ID \ --region=us-east1 \ --zone=us-east1-b \ --gcs-bucket=你的GCS存储桶名称
脚本会自动创建临时VM完成镜像构建,过程需等待数分钟,完成后会自动清理临时资源。
5. 使用自定义镜像创建集群
镜像生成成功后,执行以下命令创建目标集群:
gcloud dataproc clusters create dataproc-cluster \ --region=us-east1 \ --image=projects/你的GCP项目ID/global/images/dataproc-old-1.3.94
注意事项
- 确保你的账号拥有Dataproc Editor、Compute Admin、Storage Admin等权限,避免因权限不足报错。
- 镜像生成过程中不要关闭Cloud Shell,若需后台运行可在命令前加
nohup并结尾加&。
内容的提问来源于stack exchange,提问作者Cris Teller
相关产品推荐
相关产品推荐

