Google cloud platform 优化Dataproc群集启动时间

Google cloud platform 优化Dataproc群集启动时间,google-cloud-platform,google-compute-engine,google-cloud-dataproc,Google Cloud Platform,Google Compute Engine,Google Cloud Dataproc,我正在处理一个应用程序,其中用户提交请求,这些请求将作为spark作业处理。目前,我们的数据中心有一个非常大的集群,以满足组织的需要。我们计划转向GCP,为了降低成本,我们计划转向动态集群。由于集群的大小在很大程度上取决于用户的活动,因此我们正在计划一个完整的自动扩展集群 其中一个问题是我们的用户请求绑定到SLA,请求处理时间大约为10到15分钟。不幸的是,对于动态集群来说,再增加5到6分钟,集群就会出现,而且作为自动扩展的一部分,添加worker节点也需要花费大量时间 尽管我只有很少的初始化步

我正在处理一个应用程序,其中用户提交请求,这些请求将作为spark作业处理。目前,我们的数据中心有一个非常大的集群,以满足组织的需要。我们计划转向GCP,为了降低成本,我们计划转向动态集群。由于集群的大小在很大程度上取决于用户的活动,因此我们正在计划一个完整的自动扩展集群

其中一个问题是我们的用户请求绑定到SLA,请求处理时间大约为10到15分钟。不幸的是,对于动态集群来说,再增加5到6分钟,集群就会出现,而且作为自动扩展的一部分,添加worker节点也需要花费大量时间

尽管我只有很少的初始化步骤,但作为一项措施,我创建了一个自定义映像,其中包含PySpark作业所需的预装库集,并使用该映像启动集群。出于测试目的,我正在创建非常基本的2节点集群,这也需要4到6分钟

我甚至没有安装额外的“可选组件”也

以下是我用于创建图像的命令:

python生成自定义图像.py\
--图像名称自定义-1-5-1-debina10\
--家庭自定义图像\
--dataproc版本1.5.1-debian10\
--自定义脚本初始化\u脚本\u用于\u image.sh\
--欧洲西部3-b区\
--gcs bucket gs://poc数据存储/自定义图像日志/\
--磁盘大小50\
--试运行
有什么建议可以改进Dataproc集群的启动时间吗。据观察,Dataproc启动日志花费大量时间卸载组件:

是否有可能尽可能多地推进到映像准备阶段,将服务的启动减少到群集启动阶段?

这是一个具有大启动磁盘的Debian 10 VM启动时间缓慢的问题。此问题是由于GCE VM启动期间文件系统调整缓慢造成的

GCE团队正在解决这个问题,但目前还没有ETA

同时,您有两个解决方案:

  • 使用基于Ubuntu的Dataproc图像
  • 使用较小的引导磁盘大小将减少引导时间,但不建议这样做,因为这会影响性能,所以您可能需要为此连接到帐户
  • 使用1TB引导磁盘创建,以便在引导期间不会调整文件系统大小
Dataproc异步卸载组件,因此不会显著影响启动时间

更新: 已修复,因此使用最新Debian 10映像的默认配置的Dataproc群集的平均群集创建时间为90秒。

这是一个具有大启动磁盘的Debian 10 VM启动时间缓慢的问题。此问题是由于GCE VM启动期间文件系统调整缓慢造成的

GCE团队正在解决这个问题,但目前还没有ETA

同时,您有两个解决方案:

  • 使用基于Ubuntu的Dataproc图像
  • 使用较小的引导磁盘大小将减少引导时间,但不建议这样做,因为这会影响性能,所以您可能需要为此连接到帐户
  • 使用1TB引导磁盘创建,以便在引导期间不会调整文件系统大小
Dataproc异步卸载组件,因此不会显著影响启动时间

更新:
已修复,因此使用最新Debian 10映像的默认配置Dataproc群集的平均群集创建时间为90秒。

谢谢Igor。我设法将引导磁盘大小设置为较小,并连接了本地ssd磁盘。启动时间降至2米30秒到3米。我检查了Debian和Ubuntu的图片,大部分时间都是一样的。不确定是否有更多的想法可以进一步缩短启动时间,但也可以接受这些数字。谢谢你,伊戈尔。我设法将引导磁盘大小设置为较小,并连接了本地ssd磁盘。启动时间降至2米30秒到3米。我检查了Debian和Ubuntu的图片,大部分时间都是一样的。不确定是否有更多的想法来进一步缩短启动时间,但也可以接受这些数字。