Is it possible to deploy several Hadoop clusters in one Google Cloud project?
1 回答
使用bdutil,您可以在单个 Google 项目中部署任意多个不同的 Hadoop 集群,只要您获得了足够的Google Compute Engine 配额即可。这里的说明描述了 bdutil 的使用方法,但简而言之,在使用 bdutil 时,bdutil 中的集群名称只是通过PREFIX
变量或--prefix
标志来区分。您可以跟踪每个 bdutil 集群中的区域和工作人员数量。
为了轻松跟踪多个集群,强烈建议使用 bdutil 的generate_config
命令。例如,假设您需要 3 个集群test
:staging
和prod
。也许它们的大小和区域不同。你会想要运行类似的东西:
./bdutil --prefix my-test-cluster -n 2 -z us-central1-f -b test-bucket \
generate_config test-cluster_env.sh
./bdutil --prefix my-staging-cluster -n 5 -z us-central1-b -b staging-bucket \
generate_config staging-cluster_env.sh
./bdutil --prefix my-prod-cluster -n 10 -z us-central1-f -b prod-bucket \
generate_config prod-cluster_env.sh
test-cluster_env.sh
完成此操作后,从现在开始,文件staging-cluster_env.sh
和prod-cluster_env.sh
可用于引用您的三个不同集群。例如,假设您要删除测试集群:
./bdutil -e test-cluster_env.sh delete
或者只是部署您的产品集群:
./bdutil -e prod-cluster_env.sh deploy
或者通过 SSH 连接到暂存集群的主节点:
./bdutil -e staging-cluster_env.sh shell
当您这样做时,您可以将 *_cluster_env.sh 文件存储在源代码管理中,并且每当您使用新的 Google 版本升级 bdutil 时,它们将向后兼容。
如果您需要更广泛地自定义 bdutil,您可能需要考虑直接使用以下方式从 GitHub 获取 bdutil:
git clone https://github.com/GoogleCloudPlatform/bdutil.git
这样您就可以使用 git 定期更新到 bdutil 的新版本,同时让 git 解决与任何自定义项的任何合并冲突。