Выполнение команды sudo из задания Spark - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь выполнить скрипт Python из задания Scark Scala в кластерном режиме, как показано ниже.

import scala.sys.process._

Process("sudo -n python helloWorld.py").!!

Я получаю сообщение "sudo: требуется пароль".

Я попытался установить NOPASSWD, как объяснено в ссылка для пользователя, добавив строку в конце файла, используя 'sudo visudo', как показано ниже:

<username> ALL=(ALL) NOPASSWD: ALL

Однако это не сработало.Я все еще получаю ту же ошибку.Что может быть не так?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

У меня была эта проблема с использованием dmidecode в моей программе на python, которая использует 'sudo' для запуска какой-либо команды.Я запустил dmidecode в докере и не было никаких ошибок.

Я думаю, это из-за того, что docker работает в режиме root, а все пакеты и требования для моей программы на python установлены в режиме root.Но в 'ubuntu' я сделал все настройки в "sudo user", которые ссылаются на root для команды execute "sudo", а мой пользователь root не установил никаких параметров.

Как уже упоминалось, мой запрос был:

sudo ~/spark/bin/spark-submit --name tets --master spark://10.28.10.9:5050 --executor-cores 4 
                              --executor-memory 6G --files use.npy --py-files a.zip main.py

, но в докере было:

~/spark/bin/spark-submit --name tets --master spark://10.28.10.9:5050 --executor-cores 4 
                         --executor-memory 6G --files use.npy --py-files a.zip main.py

Надеюсь, это поможет вам

0 голосов
/ 22 октября 2018

Это процесс запускается из драйвера спарк?Вы должны запустить приложение spark от имени пользователя sudo.

...