2016-12-29 1 views
1

Я недавно обнаружил, что Spark отображает аргументы командной строки, переданные в команду spark-submit прямо на странице задания. Мне нужно изменить важные аргументы, такие как пароли со страницы.Скрыть чувствительные аргументы, переданные с помощью spark-submit на Job Page

Точное местоположение: Environment Tab>Свойства системы Раздел>sun.java.command недвижимость.

Пример того, что показано на рисунке:

org.apache.spark.deploy.yarn.ApplicationMaster --class com.xxx.xxx.sparkexport.bus.SparkExport --jar file:/xx/hadoop/jar/xx/xx.jar --arg -c --arg jdbc:dbserv://xx.xx.xx.com:2633 --arg -d --arg ActionS --arg -D --arg ActionS --arg -C --arg xx_Hadoop --arg -q --arg SELECT xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx FROM xyy WHERE zz= '2016-12-28' AND aa= '11' --arg -t --arg bb--executor-memory 8192m --executor-cores 1 --properties-file /hadoop/yarn/nm/usercache/xx/appcache/application_1482736206018_6501/container_e134_1482736206018_6501_01_000001/__spark_conf__/__spark_conf__.properties 

Я искал в Интернете, не повезло. Я думаю, может быть, если я смогу найти и изменить эту строку (на объекте SparkContext), она будет отражена на странице? Как можно изменить это свойство?

Я считаю это очень важной проблемой безопасности для решения (или работы). Любые идеи приветствуются.

+0

Это необходимая информация о регистрации. Я думаю, что больше всего вы можете сделать, чтобы контролировать, кто имеет доступ к этим журналам – Yeikel

+0

@Yeikel Sure !. Но пара наших искр-отправки заданий на самом деле должна пройти искру пароль. Итак, я хочу отредактировать это свойство. Должно быть возможно, я понимаю, что свойства объекта SparkContext - это просто словарь. Но мне интересно, вы имеете в виду способ, которым я могу контролировать доступ на основе собственности? Или просто целая вкладка? –

+0

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

ответ

1

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

SparkConf conf = new SparkConf() 
      .setAppName(application.getApplicationName()) 
      .set("sun.java.command", "Dummy Command String..."); 

Затем использовать что .JAR для создания всех наших Спарк Job Tools. Зависимости, управляемые MAVEN, делают это очень простым. Работы создаются так, как они должны, только это свойство изменяется.

Смежные вопросы