Почему мой скрипт initialization_action на Dataproc не может установить переменные среды? - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь установить переменную окружения, содержащую область кластера Dataproc.По сути, я добавляю эти строки в мой скрипт действия инициализации:

BUCKET=$(/usr/share/google/get_metadata_value attributes/dataproc-bucket)

cat << 'EOF' >> ~/.bashrc
export BUCKET=${BUCKET}
EOF

source /root/.bashrc

Однако, когда я захожу в ssh в master, чтобы проверить, добавлена ​​ли эта строка в файл bashrc, я ничего не могу найти.Скажите, пожалуйста, что я делаю не так или как вы решите эту проблему?Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Действия инициализации выполняются как root.Вы можете обновить /etc/profile.

MY_VAR="hello"
echo "export MY_VAR=${MY_VAR}" | tee -a /etc/profile
source /etc/profile
0 голосов
/ 17 февраля 2019

После многих испытаний я впервые заметил, что манипулировал разными путями, то есть $HOME и /root/.И тогда файл .bashrc присутствует под обоими путями, окончательный фрагмент кода выглядит следующим образом:

BUCKET=$(/usr/share/google/get_metadata_value attributes/dataproc-bucket)
echo "export BUCKET=${BUCKET}" | tee -a $HOME/.bashrc

source $HOME/.bashrc

Не стесняйтесь, если у вас есть какие-либо другие комментарии.

...