Я хочу запустить файл start-all.sh
, так как я отформатировал Namenode в HDFS. Я использую его с Докером.
Для доступа к нему я использую:
docker exec -u root -it jupyter-stack /bin/bash
Файл start-all.sh
находится по пути:
/usr/local/spark-2.4.4-bin-hadoop2.7/sbin/
Когда я получаю доступ к этому пути и запускаю его, я получаю следующую ошибку:
bash: /usr/local/bin/start-all.sh: Permission denied
Как я могу это исправить и иметь возможность запускать все службы?
Ваша ошибка относится к пути, отличному от пути сценария, поэтому, похоже, вы должны указать абсолютный путь в команде.
Однако запуск нескольких сервисов в одном контейнере — плохая практика в Docker.
Вы должны использовать другой контейнер для namenode (и Datanode), например, контейнеры, распространяемые пользователем bde2020 — https://github.com/big-data-europe/docker-hadoop.
Или вы можете использовать меньше образов Docker, используя альтернативные файловые системы, такие как MinIO, или просто позволяя Spark читать из своей локальной файловой системы контейнера.
Я уже решил это, выполнив
chmod +x
из абсолютного пути, который мне подсказывает bash. Спасибо