【发布时间】:2015-12-21 03:25:35
【问题描述】:
如何在集群启动时自动在我的 Dataproc 集群上安装 Python 库?这将省去我手动登录主节点和/或工作节点以手动安装我需要的库的麻烦。
如果还知道这种自动安装是否可以仅在 master 而不是 worker 上安装东西,那就太好了。
【问题讨论】:
标签: hadoop apache-spark google-cloud-platform google-cloud-dataproc
如何在集群启动时自动在我的 Dataproc 集群上安装 Python 库?这将省去我手动登录主节点和/或工作节点以手动安装我需要的库的麻烦。
如果还知道这种自动安装是否可以仅在 master 而不是 worker 上安装东西,那就太好了。
【问题讨论】:
标签: hadoop apache-spark google-cloud-platform google-cloud-dataproc
初始化操作是执行此操作的最佳方式。初始化操作是在创建集群时运行的 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了解更多详情
【讨论】:
/usr/share/google/get_metadata_value attributes/dataproc-role 来获取字符串“Master”。命令/usr/share/google/get_metadata_value attributes/ 给出了可用属性的列表。