要通过 init 操作脚本更改 Google Dataproc 集群中工作节点的 yarn-site.xml
属性,您需要在创建集群时指定一个自定义的 init 操作脚本。这个脚本会在每个工作节点启动时运行,并且可以用来修改配置文件。
以下是使用 gcloud
命令行工具创建集群并应用 init 脚本的步骤:
modify_yarn_site.sh
,并在其中添加修改 yarn-site.xml
的逻辑。例如,如果您想要增加一个新的属性 yarn.nodemanager.resource.memory-mb
,脚本可能看起来像这样:
#!/bin/bash yarn_site_path="/etc/hadoop/conf/yarn-site.xml" # 备份原始文件 cp $yarn_site_path $yarn_site_path.bak # 修改 yarn-site.xml 文件 cat <<EOF | sudo tee $yarn_site_path <configuration> <!-- 其他配置 --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>8192</value> </property> </configuration> EOF
确保给脚本执行权限:
chmod +x modify_yarn_site.sh
gcloud
命令创建集群,并通过 --initialization-actions
参数指定 init 脚本的 GCS 路径。
gcloud dataproc clusters create your-cluster-name \ --num-workers=3 \ --worker-machine-type=n1-standard-4 \ --initialization-actions gs://your-bucket-name/init-scripts/modify_yarn_site.sh
确保替换 your-cluster-name
和 your-bucket-name
为您实际的集群名称和 GCS 存储桶名称。
yarn-site.xml
文件是否已被正确修改。
gcloud compute ssh worker-instance-name --zone=your-zone
然后在工作节点上运行:
cat /etc/hadoop/conf/yarn-site.xml
您应该能看到您在 init 脚本中所做的更改。
领取专属 10元无门槛券
手把手带您无忧上云