[英]How to install and run pip in Google Dataproc cluster
我使用以下命令在 Google DataProc 中创建了一个集群:
gcloud beta dataproc clusters create my-cluster \
--project my-project \
--bucket my-bucket \
--region my-region \
--zone my-zone \
--num-workers 5 \
--service-account my-service-account \
--initialization-actions gs://goog-dataproc-initialization-actions-${REGION}/connectors/connectors.sh,gs://goog-dataproc-initialization-actions-${REGION}/datalab/datalab.sh \
--metadata gcs-connector-version=2.0.0 \
--metadata bigquery-connector-version=1.0.0 \
--scopes cloud-platform \
--optional-components=ANACONDA,JUPYTER,ZEPPELIN,PRESTO \
--metadata PIP_PACKAGES=numpy:scipy:pandas:scikit-learn:matplotlib:seaborn \
--image-version=1.4 \
--properties=^#^spark:spark.jars='gs://spark-lib/bigquery/spark-bigquery-latest.jar'#spark:spark.jars.packages='org.apache.spark:spark-avro_2.12:2.4.4'#zeppelin:zeppelin.notebook.gcs.dir="gs://${BUCKET}/notebooks/zeppelin/${CLUSTER_NAME}"#dataproc:jupyter.notebook.gcs.dir="gs://${BUCKET}/notebooks/jupyter/${CLUSTER_NAME}"
我尝试了两种 pip 方法:
1) 将gs://goog-dataproc-initialization-actions-${REGION}/python/pip-install.sh
到初始化操作,点击此链接: Dataproc python configuration ,但它导致创建集群失败。
错误消息是: Initialization action failed. Failed action 'gs://goog-dataproc-initialization-actions-us-central1/python/pip-install.sh', see output in: gs://my-bucket/google-cloud-dataproc-metainfo/df1234gs-3423-647e-bdf4-dfas1231das/my-cluster-m/dataproc-initialization-script-2_output
Initialization action failed. Failed action 'gs://goog-dataproc-initialization-actions-us-central1/python/pip-install.sh', see output in: gs://my-bucket/google-cloud-dataproc-metainfo/df1234gs-3423-647e-bdf4-dfas1231das/my-cluster-m/dataproc-initialization-script-2_output
。 如果需要,我可以共享文件。
2) 使用上面的命令创建集群。 它能够创建集群。 奇怪的是,当我登录主节点并尝试使用pip时,似乎可以使用pip命令。 但是,如果我在 Jupyter 中运行 pip 命令,例如, pip install --upgrade pip
--upgrade pip install --upgrade pip
,当命令通过时,内核会进入死机并反复重启,使 Jupyter 无法使用。
我曾经能够创建集群并使用Image gcs_connector
的gcs_connector和bq_connector
的bq_connector顺利运行。 我不确定钩子下是否有任何变化。 任何建议表示赞赏。
我在您的命令--metadata PIP_PACKAGES="numpy scipy pandas scikit-learn matplotlib seaborn"
--metadata PIP_PACKAGES=numpy:scipy:pandas:scikit-learn:matplotlib:seaborn
为--metadata PIP_PACKAGES="numpy scipy pandas scikit-learn matplotlib seaborn"
并且能够使用pip-install.sh
初始化脚本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.