如何在 Dataproc 集群启动时自动安装 Python 库?
Posted
技术标签:
【中文标题】如何在 Dataproc 集群启动时自动安装 Python 库?【英文标题】:How do I install Python libraries automatically on Dataproc cluster startup? 【发布时间】:2015-12-21 03:25:35 【问题描述】:如何在集群启动时自动在我的 Dataproc 集群上安装 Python 库?这将省去我手动登录主节点和/或工作节点以手动安装我需要的库的麻烦。
如果还知道这种自动安装是否可以仅在 master 而不是 worker 上安装东西,那就太好了。
【问题讨论】:
【参考方案1】:初始化操作是执行此操作的最佳方式。初始化操作是在创建集群时运行的 shell 脚本。这将允许您自定义集群,例如安装 Python 库。这些脚本必须存储在 Google Cloud Storage 中,并且可以在通过 Google Cloud SDK 或 Google Developers Console 创建集群时使用。
这是一个示例初始化操作,用于在主节点上仅在集群创建时安装 Python pandas。
#!/bin/sh
ROLE=$(/usr/share/google/get_metadata_value attributes/role)
if [[ "$ROLE" == 'Master' ]]; then
apt-get install python-pandas -y
fi
从这个脚本中可以看出,可以通过/usr/share/google/get_metadata_value attributes/role
识别节点的角色,然后专门在主(或工作)节点上执行操作。
您可以查看Google Cloud Dataproc Documentation了解更多详情
【讨论】:
Dataproc 文档有点过时了。您需要运行/usr/share/google/get_metadata_value attributes/dataproc-role
来获取字符串“Master”。命令/usr/share/google/get_metadata_value attributes/
给出了可用属性的列表。以上是关于如何在 Dataproc 集群启动时自动安装 Python 库?的主要内容,如果未能解决你的问题,请参考以下文章
在启动 Google DataProc 集群以与 Jupyter 笔记本一起使用时,如何包含其他 jar?
自动设置 Dataproc 集群后 Yarn/Spark 的内存分配不正确
如何在自动扩缩 GCP Dataproc 时了解初级工作者?