Как установить и запустить pip в кластере Google Datapro c - PullRequest
2 голосов
/ 29 января 2020

Я создал кластер в Google DataPro c с помощью следующих команд:

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 к initialization-действиям , перейдя по этой ссылке: Datapro c python конфигурации , но это привело к созданию кластера не удалось.

Сообщение об ошибке: 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 доступна. Однако, если я выполню команду pip в Jupyter, например, pip install --upgrade pip, в то время как команда прошла, ядро ​​перестанет работать и итеративно перезапустится и сделает Jupyter непригодным для использования.

Раньше я мог создавать кластеры и работал гладко с изображениями 1.4.4, gcs_connector из 1.9.16 и bq_connector из 0.13.16. Я не уверен, есть ли какие-либо изменения под крючком. Любое предложение приветствуется.

1 Ответ

1 голос
/ 29 января 2020

Я изменил --metadata PIP_PACKAGES=numpy:scipy:pandas:scikit-learn:matplotlib:seaborn на --metadata PIP_PACKAGES="numpy scipy pandas scikit-learn matplotlib seaborn" в вашей команде и смог использовать сценарий инициализации pip-install.sh.

...