Ошибка сценария инициализации Dataproc. Команда pip не найдена. Ошибка при использовании нескольких сценариев инициализации. - PullRequest
0 голосов
/ 12 сентября 2018

Ниже приведена команда, которую я использовал для создания кластера dataproc. Здесь есть два сценария инициализации. (1) jupyter.sh (2) my_initialize.sh

gcloud dataproc clusters create dproc \
    --subnet default --zone us-west1-a --project myproject \
    --initialization-actions gs://dataproc-initialization-actions/jupyter/jupyter.sh,gs://mydataproc/my_initialize.sh \
    --master-machine-type n1-standard-8 --master-boot-disk-size 40 \
    --worker-machine-type n1-standard-8 --worker-boot-disk-size 40 --num-workers 4

Следующее есть в my_initialize.sh

#!/usr/bin/env bash
pip install --upgrade google-cloud-bigquery

Когда мы устанавливаем jupyter.sh, я считаю, что pip уже установлен.

По какой-то причине создание кластера не удалось с ошибкой как строка 2: команда pip не найдена.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

Я считаю, что это проблема, когда действие init не видит изменений в среде по сравнению с предыдущими действиями init.Мы будем предлагать решение этой проблемы в течение следующих нескольких недель, поэтому в этом случае поиск profile.d не понадобится.Об этом будет объявлено в заметках о выпуске .

В то же время (как упоминает @Kartik Palaniappan, просто используйте pip по его полному пути /opt/conda/bin/pip.

Наконец,в образе Dataproc 1.3 вы можете использовать Anaconda + Jupyter Необязательные компоненты . Использование компонентов вместо действий init сокращает общее время загрузки кластера.

0 голосов
/ 13 сентября 2018

Да, это потому, что ни pip, ни что-либо еще в /opt/conda/bin/ находятся в $PATH для вашего второго действия инициации.На самом деле они не попадают на путь для пользователя root, даже если вы запустите sudo su root: https://github.com/GoogleCloudPlatform/dataproc-initialization-actions/issues/246.

Если вы заинтересованы в устранении этой проблемы, я будурад принять пиар.Просто в качестве отправной точки: bootstrap-conda.sh устанавливает /etc/profile.d/conda.sh здесь .

И другие сценарии явно исходят из этого файла .

Если нетпростой способ изменить $PATH в масштабе всей системы, я думаю, что вам лучше всего явно указать /etc/profile.d/conda.sh.

В качестве альтернативы, запустите pip с его абсолютным путем, например, /opt/conda/bin/pip install ....

...