擅长:python、mysql、java
<p>一般来说,部署带有初始化操作的新集群是首选方法,因为如果您需要克隆新集群、更改更基本的计算机或区域设置,或者只是在意外地以混乱的方式破坏现有集群时,它有助于保持您自己的开发工作流的可再现性。它还确保为所有已安装的软件提供新的补丁,并且与基于SSH的配置相比,能够很好地动态地扩展/缩小集群。在</p>
<p>也就是说,对于修改现有集群,您还可以尝试使用<a href="https://github.com/GoogleCloudPlatform/bdutil" rel="nofollow">bdutil</a>,这与Dataproc的实例命名正好兼容,只要您不使用任何可抢占的worker(但官方并不能保证总是这样)。它将提供一种方便的方法,通过SSH在所有节点上运行命令,并在失败时收集一些有用的错误消息:</p>
<pre><code>CLUSTER=<dataproc-cluster-name>
PROJECT=<Google project you used to create the Dataproc cluster>
BUCKET=<mybucket>
ZONE=<dataproc cluster zone, like us-central1-f>
NUM_WORKERS=<number of workers in dataproc cluster>
# Run "sudo apt-get install -y python-pip" on all nodes
./bdutil -P ${CLUSTER} -p ${PROJECT} -b ${BUCKET} -z ${ZONE} -n ${NUM_WORKERS} \
run_command -t all "sudo apt-get install -y python-pip"
</code></pre>
<p>您也可以使用<code>-t master</code>来只在主节点上运行某些东西,或者使用<code>-t workers</code>来只在工作节点上运行。在</p>