Докер Namenode HDFS

Я хочу запустить файл 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

Как я могу это исправить и иметь возможность запускать все службы?

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
0
14
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваша ошибка относится к пути, отличному от пути сценария, поэтому, похоже, вы должны указать абсолютный путь в команде.

Однако запуск нескольких сервисов в одном контейнере — плохая практика в Docker.

Вы должны использовать другой контейнер для namenode (и Datanode), например, контейнеры, распространяемые пользователем bde2020 — https://github.com/big-data-europe/docker-hadoop.

Или вы можете использовать меньше образов Docker, используя альтернативные файловые системы, такие как MinIO, или просто позволяя Spark читать из своей локальной файловой системы контейнера.

Я уже решил это, выполнив chmod +x из абсолютного пути, который мне подсказывает bash. Спасибо

Dom Rl 17.05.2022 16:35

Другие вопросы по теме